stage4/generate_c/st_code_gen.c
changeset 235 ed66dc50f31a
parent 233 3d23a68183d3
child 279 c0453b7f99df
equal deleted inserted replaced
234:e4d31cd0e6d8 235:ed66dc50f31a
    36     case function_real_to_sint :
    36     case function_real_to_sint :
    37     {
    37     {
    38         symbol_c *last_type_symbol = NULL;
    38         symbol_c *last_type_symbol = NULL;
    39 
    39 
    40         {
    40         {
    41             identifier_c IN_param_name("IN");
    41             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
    42             /* Get the value from a foo(<param_name> = <param_value>) style call */
    42             /* Get the value from a foo(<param_name> = <param_value>) style call */
    43             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
    43             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
    44             symbol_c *IN_type_symbol = NULL;
    44             symbol_c *IN_type_symbol = NULL;
    45             
    45             
    46             /* Get the value from a foo(<param_value>) style call */
    46             /* Get the value from a foo(<param_value>) style call */
    47             if (IN_param_value == NULL)
    47             if (IN_param_value == NULL)
    48               IN_param_value = function_call_param_iterator.next_nf();
    48               IN_param_value = function_call_param_iterator.next_nf();
    56         
    56         
    57                 function_name = (symbol_c*)(new pragma_c("__move_"));
    57                 function_name = (symbol_c*)(new pragma_c("__move_"));
    58                 
    58                 
    59                 if (IN_type_symbol == NULL)
    59                 if (IN_type_symbol == NULL)
    60                   IN_type_symbol = last_type_symbol;
    60                   IN_type_symbol = last_type_symbol;
    61                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
    61                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
    62                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
    62                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
    63                 function_type_prefix = return_type_symbol;
    63                 function_type_prefix = return_type_symbol;
    64                 function_type_suffix = IN_type_symbol;
    64                 function_type_suffix = IN_type_symbol;
    65                 break;
    65                 break;
    66                 
    66                 
    79     case function_real_to_lint :
    79     case function_real_to_lint :
    80     {
    80     {
    81         symbol_c *last_type_symbol = NULL;
    81         symbol_c *last_type_symbol = NULL;
    82 
    82 
    83         {
    83         {
    84             identifier_c IN_param_name("IN");
    84             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
    85             /* Get the value from a foo(<param_name> = <param_value>) style call */
    85             /* Get the value from a foo(<param_name> = <param_value>) style call */
    86             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
    86             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
    87             symbol_c *IN_type_symbol = NULL;
    87             symbol_c *IN_type_symbol = NULL;
    88             
    88             
    89             /* Get the value from a foo(<param_value>) style call */
    89             /* Get the value from a foo(<param_value>) style call */
    90             if (IN_param_value == NULL)
    90             if (IN_param_value == NULL)
    91               IN_param_value = function_call_param_iterator.next_nf();
    91               IN_param_value = function_call_param_iterator.next_nf();
    99         
    99         
   100                 function_name = (symbol_c*)(new pragma_c("__move_"));
   100                 function_name = (symbol_c*)(new pragma_c("__move_"));
   101                 
   101                 
   102                 if (IN_type_symbol == NULL)
   102                 if (IN_type_symbol == NULL)
   103                   IN_type_symbol = last_type_symbol;
   103                   IN_type_symbol = last_type_symbol;
   104                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   104                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   105                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
   105                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
   106                 function_type_prefix = return_type_symbol;
   106                 function_type_prefix = return_type_symbol;
   107                 function_type_suffix = IN_type_symbol;
   107                 function_type_suffix = IN_type_symbol;
   108                 break;
   108                 break;
   109                 
   109                 
   122     case function_real_to_dint :
   122     case function_real_to_dint :
   123     {
   123     {
   124         symbol_c *last_type_symbol = NULL;
   124         symbol_c *last_type_symbol = NULL;
   125 
   125 
   126         {
   126         {
   127             identifier_c IN_param_name("IN");
   127             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   128             /* Get the value from a foo(<param_name> = <param_value>) style call */
   128             /* Get the value from a foo(<param_name> = <param_value>) style call */
   129             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   129             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   130             symbol_c *IN_type_symbol = NULL;
   130             symbol_c *IN_type_symbol = NULL;
   131             
   131             
   132             /* Get the value from a foo(<param_value>) style call */
   132             /* Get the value from a foo(<param_value>) style call */
   133             if (IN_param_value == NULL)
   133             if (IN_param_value == NULL)
   134               IN_param_value = function_call_param_iterator.next_nf();
   134               IN_param_value = function_call_param_iterator.next_nf();
   142         
   142         
   143                 function_name = (symbol_c*)(new pragma_c("__move_"));
   143                 function_name = (symbol_c*)(new pragma_c("__move_"));
   144                 
   144                 
   145                 if (IN_type_symbol == NULL)
   145                 if (IN_type_symbol == NULL)
   146                   IN_type_symbol = last_type_symbol;
   146                   IN_type_symbol = last_type_symbol;
   147                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   147                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   148                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
   148                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
   149                 function_type_prefix = return_type_symbol;
   149                 function_type_prefix = return_type_symbol;
   150                 function_type_suffix = IN_type_symbol;
   150                 function_type_suffix = IN_type_symbol;
   151                 break;
   151                 break;
   152                 
   152                 
   165     case function_real_to_date :
   165     case function_real_to_date :
   166     {
   166     {
   167         symbol_c *last_type_symbol = NULL;
   167         symbol_c *last_type_symbol = NULL;
   168 
   168 
   169         {
   169         {
   170             identifier_c IN_param_name("IN");
   170             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   171             /* Get the value from a foo(<param_name> = <param_value>) style call */
   171             /* Get the value from a foo(<param_name> = <param_value>) style call */
   172             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   172             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   173             symbol_c *IN_type_symbol = NULL;
   173             symbol_c *IN_type_symbol = NULL;
   174             
   174             
   175             /* Get the value from a foo(<param_value>) style call */
   175             /* Get the value from a foo(<param_value>) style call */
   176             if (IN_param_value == NULL)
   176             if (IN_param_value == NULL)
   177               IN_param_value = function_call_param_iterator.next_nf();
   177               IN_param_value = function_call_param_iterator.next_nf();
   185         
   185         
   186                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
   186                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
   187                 
   187                 
   188                 if (IN_type_symbol == NULL)
   188                 if (IN_type_symbol == NULL)
   189                   IN_type_symbol = last_type_symbol;
   189                   IN_type_symbol = last_type_symbol;
   190                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   190                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   191                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
   191                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
   192                 function_type_prefix = return_type_symbol;
   192                 function_type_prefix = return_type_symbol;
   193                 break;
   193                 break;
   194                 
   194                 
   195             }
   195             }
   207     case function_real_to_dword :
   207     case function_real_to_dword :
   208     {
   208     {
   209         symbol_c *last_type_symbol = NULL;
   209         symbol_c *last_type_symbol = NULL;
   210 
   210 
   211         {
   211         {
   212             identifier_c IN_param_name("IN");
   212             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   213             /* Get the value from a foo(<param_name> = <param_value>) style call */
   213             /* Get the value from a foo(<param_name> = <param_value>) style call */
   214             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   214             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   215             symbol_c *IN_type_symbol = NULL;
   215             symbol_c *IN_type_symbol = NULL;
   216             
   216             
   217             /* Get the value from a foo(<param_value>) style call */
   217             /* Get the value from a foo(<param_value>) style call */
   218             if (IN_param_value == NULL)
   218             if (IN_param_value == NULL)
   219               IN_param_value = function_call_param_iterator.next_nf();
   219               IN_param_value = function_call_param_iterator.next_nf();
   227         
   227         
   228                 function_name = (symbol_c*)(new pragma_c("__move_"));
   228                 function_name = (symbol_c*)(new pragma_c("__move_"));
   229                 
   229                 
   230                 if (IN_type_symbol == NULL)
   230                 if (IN_type_symbol == NULL)
   231                   IN_type_symbol = last_type_symbol;
   231                   IN_type_symbol = last_type_symbol;
   232                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   232                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   233                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
   233                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
   234                 function_type_prefix = return_type_symbol;
   234                 function_type_prefix = return_type_symbol;
   235                 function_type_suffix = IN_type_symbol;
   235                 function_type_suffix = IN_type_symbol;
   236                 break;
   236                 break;
   237                 
   237                 
   250     case function_real_to_dt :
   250     case function_real_to_dt :
   251     {
   251     {
   252         symbol_c *last_type_symbol = NULL;
   252         symbol_c *last_type_symbol = NULL;
   253 
   253 
   254         {
   254         {
   255             identifier_c IN_param_name("IN");
   255             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   256             /* Get the value from a foo(<param_name> = <param_value>) style call */
   256             /* Get the value from a foo(<param_name> = <param_value>) style call */
   257             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   257             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   258             symbol_c *IN_type_symbol = NULL;
   258             symbol_c *IN_type_symbol = NULL;
   259             
   259             
   260             /* Get the value from a foo(<param_value>) style call */
   260             /* Get the value from a foo(<param_value>) style call */
   261             if (IN_param_value == NULL)
   261             if (IN_param_value == NULL)
   262               IN_param_value = function_call_param_iterator.next_nf();
   262               IN_param_value = function_call_param_iterator.next_nf();
   270         
   270         
   271                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
   271                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
   272                 
   272                 
   273                 if (IN_type_symbol == NULL)
   273                 if (IN_type_symbol == NULL)
   274                   IN_type_symbol = last_type_symbol;
   274                   IN_type_symbol = last_type_symbol;
   275                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   275                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   276                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
   276                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
   277                 function_type_prefix = return_type_symbol;
   277                 function_type_prefix = return_type_symbol;
   278                 break;
   278                 break;
   279                 
   279                 
   280             }
   280             }
   292     case function_real_to_tod :
   292     case function_real_to_tod :
   293     {
   293     {
   294         symbol_c *last_type_symbol = NULL;
   294         symbol_c *last_type_symbol = NULL;
   295 
   295 
   296         {
   296         {
   297             identifier_c IN_param_name("IN");
   297             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   298             /* Get the value from a foo(<param_name> = <param_value>) style call */
   298             /* Get the value from a foo(<param_name> = <param_value>) style call */
   299             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   299             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   300             symbol_c *IN_type_symbol = NULL;
   300             symbol_c *IN_type_symbol = NULL;
   301             
   301             
   302             /* Get the value from a foo(<param_value>) style call */
   302             /* Get the value from a foo(<param_value>) style call */
   303             if (IN_param_value == NULL)
   303             if (IN_param_value == NULL)
   304               IN_param_value = function_call_param_iterator.next_nf();
   304               IN_param_value = function_call_param_iterator.next_nf();
   312         
   312         
   313                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
   313                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
   314                 
   314                 
   315                 if (IN_type_symbol == NULL)
   315                 if (IN_type_symbol == NULL)
   316                   IN_type_symbol = last_type_symbol;
   316                   IN_type_symbol = last_type_symbol;
   317                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   317                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   318                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
   318                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
   319                 function_type_prefix = return_type_symbol;
   319                 function_type_prefix = return_type_symbol;
   320                 break;
   320                 break;
   321                 
   321                 
   322             }
   322             }
   334     case function_real_to_udint :
   334     case function_real_to_udint :
   335     {
   335     {
   336         symbol_c *last_type_symbol = NULL;
   336         symbol_c *last_type_symbol = NULL;
   337 
   337 
   338         {
   338         {
   339             identifier_c IN_param_name("IN");
   339             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   340             /* Get the value from a foo(<param_name> = <param_value>) style call */
   340             /* Get the value from a foo(<param_name> = <param_value>) style call */
   341             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   341             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   342             symbol_c *IN_type_symbol = NULL;
   342             symbol_c *IN_type_symbol = NULL;
   343             
   343             
   344             /* Get the value from a foo(<param_value>) style call */
   344             /* Get the value from a foo(<param_value>) style call */
   345             if (IN_param_value == NULL)
   345             if (IN_param_value == NULL)
   346               IN_param_value = function_call_param_iterator.next_nf();
   346               IN_param_value = function_call_param_iterator.next_nf();
   354         
   354         
   355                 function_name = (symbol_c*)(new pragma_c("__move_"));
   355                 function_name = (symbol_c*)(new pragma_c("__move_"));
   356                 
   356                 
   357                 if (IN_type_symbol == NULL)
   357                 if (IN_type_symbol == NULL)
   358                   IN_type_symbol = last_type_symbol;
   358                   IN_type_symbol = last_type_symbol;
   359                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   359                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   360                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
   360                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
   361                 function_type_prefix = return_type_symbol;
   361                 function_type_prefix = return_type_symbol;
   362                 function_type_suffix = IN_type_symbol;
   362                 function_type_suffix = IN_type_symbol;
   363                 break;
   363                 break;
   364                 
   364                 
   377     case function_real_to_word :
   377     case function_real_to_word :
   378     {
   378     {
   379         symbol_c *last_type_symbol = NULL;
   379         symbol_c *last_type_symbol = NULL;
   380 
   380 
   381         {
   381         {
   382             identifier_c IN_param_name("IN");
   382             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   383             /* Get the value from a foo(<param_name> = <param_value>) style call */
   383             /* Get the value from a foo(<param_name> = <param_value>) style call */
   384             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   384             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   385             symbol_c *IN_type_symbol = NULL;
   385             symbol_c *IN_type_symbol = NULL;
   386             
   386             
   387             /* Get the value from a foo(<param_value>) style call */
   387             /* Get the value from a foo(<param_value>) style call */
   388             if (IN_param_value == NULL)
   388             if (IN_param_value == NULL)
   389               IN_param_value = function_call_param_iterator.next_nf();
   389               IN_param_value = function_call_param_iterator.next_nf();
   397         
   397         
   398                 function_name = (symbol_c*)(new pragma_c("__move_"));
   398                 function_name = (symbol_c*)(new pragma_c("__move_"));
   399                 
   399                 
   400                 if (IN_type_symbol == NULL)
   400                 if (IN_type_symbol == NULL)
   401                   IN_type_symbol = last_type_symbol;
   401                   IN_type_symbol = last_type_symbol;
   402                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   402                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   403                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
   403                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
   404                 function_type_prefix = return_type_symbol;
   404                 function_type_prefix = return_type_symbol;
   405                 function_type_suffix = IN_type_symbol;
   405                 function_type_suffix = IN_type_symbol;
   406                 break;
   406                 break;
   407                 
   407                 
   420     case function_real_to_string :
   420     case function_real_to_string :
   421     {
   421     {
   422         symbol_c *last_type_symbol = NULL;
   422         symbol_c *last_type_symbol = NULL;
   423 
   423 
   424         {
   424         {
   425             identifier_c IN_param_name("IN");
   425             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   426             /* Get the value from a foo(<param_name> = <param_value>) style call */
   426             /* Get the value from a foo(<param_name> = <param_value>) style call */
   427             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   427             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   428             symbol_c *IN_type_symbol = NULL;
   428             symbol_c *IN_type_symbol = NULL;
   429             
   429             
   430             /* Get the value from a foo(<param_value>) style call */
   430             /* Get the value from a foo(<param_value>) style call */
   431             if (IN_param_value == NULL)
   431             if (IN_param_value == NULL)
   432               IN_param_value = function_call_param_iterator.next_nf();
   432               IN_param_value = function_call_param_iterator.next_nf();
   440         
   440         
   441                 function_name = (symbol_c*)(new pragma_c("__real_to_string"));
   441                 function_name = (symbol_c*)(new pragma_c("__real_to_string"));
   442                 
   442                 
   443                 if (IN_type_symbol == NULL)
   443                 if (IN_type_symbol == NULL)
   444                   IN_type_symbol = last_type_symbol;
   444                   IN_type_symbol = last_type_symbol;
   445                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   445                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   446                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
   446                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
   447                 function_type_prefix = return_type_symbol;
   447                 function_type_prefix = return_type_symbol;
   448                 break;
   448                 break;
   449                 
   449                 
   450             }
   450             }
   462     case function_real_to_lword :
   462     case function_real_to_lword :
   463     {
   463     {
   464         symbol_c *last_type_symbol = NULL;
   464         symbol_c *last_type_symbol = NULL;
   465 
   465 
   466         {
   466         {
   467             identifier_c IN_param_name("IN");
   467             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   468             /* Get the value from a foo(<param_name> = <param_value>) style call */
   468             /* Get the value from a foo(<param_name> = <param_value>) style call */
   469             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   469             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   470             symbol_c *IN_type_symbol = NULL;
   470             symbol_c *IN_type_symbol = NULL;
   471             
   471             
   472             /* Get the value from a foo(<param_value>) style call */
   472             /* Get the value from a foo(<param_value>) style call */
   473             if (IN_param_value == NULL)
   473             if (IN_param_value == NULL)
   474               IN_param_value = function_call_param_iterator.next_nf();
   474               IN_param_value = function_call_param_iterator.next_nf();
   482         
   482         
   483                 function_name = (symbol_c*)(new pragma_c("__move_"));
   483                 function_name = (symbol_c*)(new pragma_c("__move_"));
   484                 
   484                 
   485                 if (IN_type_symbol == NULL)
   485                 if (IN_type_symbol == NULL)
   486                   IN_type_symbol = last_type_symbol;
   486                   IN_type_symbol = last_type_symbol;
   487                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   487                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   488                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
   488                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
   489                 function_type_prefix = return_type_symbol;
   489                 function_type_prefix = return_type_symbol;
   490                 function_type_suffix = IN_type_symbol;
   490                 function_type_suffix = IN_type_symbol;
   491                 break;
   491                 break;
   492                 
   492                 
   505     case function_real_to_uint :
   505     case function_real_to_uint :
   506     {
   506     {
   507         symbol_c *last_type_symbol = NULL;
   507         symbol_c *last_type_symbol = NULL;
   508 
   508 
   509         {
   509         {
   510             identifier_c IN_param_name("IN");
   510             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   511             /* Get the value from a foo(<param_name> = <param_value>) style call */
   511             /* Get the value from a foo(<param_name> = <param_value>) style call */
   512             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   512             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   513             symbol_c *IN_type_symbol = NULL;
   513             symbol_c *IN_type_symbol = NULL;
   514             
   514             
   515             /* Get the value from a foo(<param_value>) style call */
   515             /* Get the value from a foo(<param_value>) style call */
   516             if (IN_param_value == NULL)
   516             if (IN_param_value == NULL)
   517               IN_param_value = function_call_param_iterator.next_nf();
   517               IN_param_value = function_call_param_iterator.next_nf();
   525         
   525         
   526                 function_name = (symbol_c*)(new pragma_c("__move_"));
   526                 function_name = (symbol_c*)(new pragma_c("__move_"));
   527                 
   527                 
   528                 if (IN_type_symbol == NULL)
   528                 if (IN_type_symbol == NULL)
   529                   IN_type_symbol = last_type_symbol;
   529                   IN_type_symbol = last_type_symbol;
   530                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   530                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   531                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
   531                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
   532                 function_type_prefix = return_type_symbol;
   532                 function_type_prefix = return_type_symbol;
   533                 function_type_suffix = IN_type_symbol;
   533                 function_type_suffix = IN_type_symbol;
   534                 break;
   534                 break;
   535                 
   535                 
   548     case function_real_to_lreal :
   548     case function_real_to_lreal :
   549     {
   549     {
   550         symbol_c *last_type_symbol = NULL;
   550         symbol_c *last_type_symbol = NULL;
   551 
   551 
   552         {
   552         {
   553             identifier_c IN_param_name("IN");
   553             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   554             /* Get the value from a foo(<param_name> = <param_value>) style call */
   554             /* Get the value from a foo(<param_name> = <param_value>) style call */
   555             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   555             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   556             symbol_c *IN_type_symbol = NULL;
   556             symbol_c *IN_type_symbol = NULL;
   557             
   557             
   558             /* Get the value from a foo(<param_value>) style call */
   558             /* Get the value from a foo(<param_value>) style call */
   559             if (IN_param_value == NULL)
   559             if (IN_param_value == NULL)
   560               IN_param_value = function_call_param_iterator.next_nf();
   560               IN_param_value = function_call_param_iterator.next_nf();
   568         
   568         
   569                 function_name = (symbol_c*)(new pragma_c("__move_"));
   569                 function_name = (symbol_c*)(new pragma_c("__move_"));
   570                 
   570                 
   571                 if (IN_type_symbol == NULL)
   571                 if (IN_type_symbol == NULL)
   572                   IN_type_symbol = last_type_symbol;
   572                   IN_type_symbol = last_type_symbol;
   573                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   573                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   574                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
   574                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
   575                 function_type_prefix = return_type_symbol;
   575                 function_type_prefix = return_type_symbol;
   576                 function_type_suffix = IN_type_symbol;
   576                 function_type_suffix = IN_type_symbol;
   577                 break;
   577                 break;
   578                 
   578                 
   591     case function_real_to_byte :
   591     case function_real_to_byte :
   592     {
   592     {
   593         symbol_c *last_type_symbol = NULL;
   593         symbol_c *last_type_symbol = NULL;
   594 
   594 
   595         {
   595         {
   596             identifier_c IN_param_name("IN");
   596             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   597             /* Get the value from a foo(<param_name> = <param_value>) style call */
   597             /* Get the value from a foo(<param_name> = <param_value>) style call */
   598             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   598             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   599             symbol_c *IN_type_symbol = NULL;
   599             symbol_c *IN_type_symbol = NULL;
   600             
   600             
   601             /* Get the value from a foo(<param_value>) style call */
   601             /* Get the value from a foo(<param_value>) style call */
   602             if (IN_param_value == NULL)
   602             if (IN_param_value == NULL)
   603               IN_param_value = function_call_param_iterator.next_nf();
   603               IN_param_value = function_call_param_iterator.next_nf();
   611         
   611         
   612                 function_name = (symbol_c*)(new pragma_c("__move_"));
   612                 function_name = (symbol_c*)(new pragma_c("__move_"));
   613                 
   613                 
   614                 if (IN_type_symbol == NULL)
   614                 if (IN_type_symbol == NULL)
   615                   IN_type_symbol = last_type_symbol;
   615                   IN_type_symbol = last_type_symbol;
   616                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   616                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   617                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
   617                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
   618                 function_type_prefix = return_type_symbol;
   618                 function_type_prefix = return_type_symbol;
   619                 function_type_suffix = IN_type_symbol;
   619                 function_type_suffix = IN_type_symbol;
   620                 break;
   620                 break;
   621                 
   621                 
   634     case function_real_to_usint :
   634     case function_real_to_usint :
   635     {
   635     {
   636         symbol_c *last_type_symbol = NULL;
   636         symbol_c *last_type_symbol = NULL;
   637 
   637 
   638         {
   638         {
   639             identifier_c IN_param_name("IN");
   639             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   640             /* Get the value from a foo(<param_name> = <param_value>) style call */
   640             /* Get the value from a foo(<param_name> = <param_value>) style call */
   641             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   641             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   642             symbol_c *IN_type_symbol = NULL;
   642             symbol_c *IN_type_symbol = NULL;
   643             
   643             
   644             /* Get the value from a foo(<param_value>) style call */
   644             /* Get the value from a foo(<param_value>) style call */
   645             if (IN_param_value == NULL)
   645             if (IN_param_value == NULL)
   646               IN_param_value = function_call_param_iterator.next_nf();
   646               IN_param_value = function_call_param_iterator.next_nf();
   654         
   654         
   655                 function_name = (symbol_c*)(new pragma_c("__move_"));
   655                 function_name = (symbol_c*)(new pragma_c("__move_"));
   656                 
   656                 
   657                 if (IN_type_symbol == NULL)
   657                 if (IN_type_symbol == NULL)
   658                   IN_type_symbol = last_type_symbol;
   658                   IN_type_symbol = last_type_symbol;
   659                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   659                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   660                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
   660                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
   661                 function_type_prefix = return_type_symbol;
   661                 function_type_prefix = return_type_symbol;
   662                 function_type_suffix = IN_type_symbol;
   662                 function_type_suffix = IN_type_symbol;
   663                 break;
   663                 break;
   664                 
   664                 
   677     case function_real_to_ulint :
   677     case function_real_to_ulint :
   678     {
   678     {
   679         symbol_c *last_type_symbol = NULL;
   679         symbol_c *last_type_symbol = NULL;
   680 
   680 
   681         {
   681         {
   682             identifier_c IN_param_name("IN");
   682             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   683             /* Get the value from a foo(<param_name> = <param_value>) style call */
   683             /* Get the value from a foo(<param_name> = <param_value>) style call */
   684             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   684             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   685             symbol_c *IN_type_symbol = NULL;
   685             symbol_c *IN_type_symbol = NULL;
   686             
   686             
   687             /* Get the value from a foo(<param_value>) style call */
   687             /* Get the value from a foo(<param_value>) style call */
   688             if (IN_param_value == NULL)
   688             if (IN_param_value == NULL)
   689               IN_param_value = function_call_param_iterator.next_nf();
   689               IN_param_value = function_call_param_iterator.next_nf();
   697         
   697         
   698                 function_name = (symbol_c*)(new pragma_c("__move_"));
   698                 function_name = (symbol_c*)(new pragma_c("__move_"));
   699                 
   699                 
   700                 if (IN_type_symbol == NULL)
   700                 if (IN_type_symbol == NULL)
   701                   IN_type_symbol = last_type_symbol;
   701                   IN_type_symbol = last_type_symbol;
   702                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   702                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   703                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
   703                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
   704                 function_type_prefix = return_type_symbol;
   704                 function_type_prefix = return_type_symbol;
   705                 function_type_suffix = IN_type_symbol;
   705                 function_type_suffix = IN_type_symbol;
   706                 break;
   706                 break;
   707                 
   707                 
   720     case function_real_to_bool :
   720     case function_real_to_bool :
   721     {
   721     {
   722         symbol_c *last_type_symbol = NULL;
   722         symbol_c *last_type_symbol = NULL;
   723 
   723 
   724         {
   724         {
   725             identifier_c IN_param_name("IN");
   725             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   726             /* Get the value from a foo(<param_name> = <param_value>) style call */
   726             /* Get the value from a foo(<param_name> = <param_value>) style call */
   727             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   727             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   728             symbol_c *IN_type_symbol = NULL;
   728             symbol_c *IN_type_symbol = NULL;
   729             
   729             
   730             /* Get the value from a foo(<param_value>) style call */
   730             /* Get the value from a foo(<param_value>) style call */
   731             if (IN_param_value == NULL)
   731             if (IN_param_value == NULL)
   732               IN_param_value = function_call_param_iterator.next_nf();
   732               IN_param_value = function_call_param_iterator.next_nf();
   740         
   740         
   741                 function_name = (symbol_c*)(new pragma_c("__move_"));
   741                 function_name = (symbol_c*)(new pragma_c("__move_"));
   742                 
   742                 
   743                 if (IN_type_symbol == NULL)
   743                 if (IN_type_symbol == NULL)
   744                   IN_type_symbol = last_type_symbol;
   744                   IN_type_symbol = last_type_symbol;
   745                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   745                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   746                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
   746                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
   747                 function_type_prefix = return_type_symbol;
   747                 function_type_prefix = return_type_symbol;
   748                 function_type_suffix = IN_type_symbol;
   748                 function_type_suffix = IN_type_symbol;
   749                 break;
   749                 break;
   750                 
   750                 
   763     case function_real_to_time :
   763     case function_real_to_time :
   764     {
   764     {
   765         symbol_c *last_type_symbol = NULL;
   765         symbol_c *last_type_symbol = NULL;
   766 
   766 
   767         {
   767         {
   768             identifier_c IN_param_name("IN");
   768             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   769             /* Get the value from a foo(<param_name> = <param_value>) style call */
   769             /* Get the value from a foo(<param_name> = <param_value>) style call */
   770             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   770             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   771             symbol_c *IN_type_symbol = NULL;
   771             symbol_c *IN_type_symbol = NULL;
   772             
   772             
   773             /* Get the value from a foo(<param_value>) style call */
   773             /* Get the value from a foo(<param_value>) style call */
   774             if (IN_param_value == NULL)
   774             if (IN_param_value == NULL)
   775               IN_param_value = function_call_param_iterator.next_nf();
   775               IN_param_value = function_call_param_iterator.next_nf();
   783         
   783         
   784                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
   784                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
   785                 
   785                 
   786                 if (IN_type_symbol == NULL)
   786                 if (IN_type_symbol == NULL)
   787                   IN_type_symbol = last_type_symbol;
   787                   IN_type_symbol = last_type_symbol;
   788                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   788                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   789                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
   789                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
   790                 function_type_prefix = return_type_symbol;
   790                 function_type_prefix = return_type_symbol;
   791                 break;
   791                 break;
   792                 
   792                 
   793             }
   793             }
   805     case function_real_to_int :
   805     case function_real_to_int :
   806     {
   806     {
   807         symbol_c *last_type_symbol = NULL;
   807         symbol_c *last_type_symbol = NULL;
   808 
   808 
   809         {
   809         {
   810             identifier_c IN_param_name("IN");
   810             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   811             /* Get the value from a foo(<param_name> = <param_value>) style call */
   811             /* Get the value from a foo(<param_name> = <param_value>) style call */
   812             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   812             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   813             symbol_c *IN_type_symbol = NULL;
   813             symbol_c *IN_type_symbol = NULL;
   814             
   814             
   815             /* Get the value from a foo(<param_value>) style call */
   815             /* Get the value from a foo(<param_value>) style call */
   816             if (IN_param_value == NULL)
   816             if (IN_param_value == NULL)
   817               IN_param_value = function_call_param_iterator.next_nf();
   817               IN_param_value = function_call_param_iterator.next_nf();
   825         
   825         
   826                 function_name = (symbol_c*)(new pragma_c("__move_"));
   826                 function_name = (symbol_c*)(new pragma_c("__move_"));
   827                 
   827                 
   828                 if (IN_type_symbol == NULL)
   828                 if (IN_type_symbol == NULL)
   829                   IN_type_symbol = last_type_symbol;
   829                   IN_type_symbol = last_type_symbol;
   830                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   830                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   831                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
   831                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
   832                 function_type_prefix = return_type_symbol;
   832                 function_type_prefix = return_type_symbol;
   833                 function_type_suffix = IN_type_symbol;
   833                 function_type_suffix = IN_type_symbol;
   834                 break;
   834                 break;
   835                 
   835                 
   848     case function_sint_to_real :
   848     case function_sint_to_real :
   849     {
   849     {
   850         symbol_c *last_type_symbol = NULL;
   850         symbol_c *last_type_symbol = NULL;
   851 
   851 
   852         {
   852         {
   853             identifier_c IN_param_name("IN");
   853             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   854             /* Get the value from a foo(<param_name> = <param_value>) style call */
   854             /* Get the value from a foo(<param_name> = <param_value>) style call */
   855             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   855             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   856             symbol_c *IN_type_symbol = NULL;
   856             symbol_c *IN_type_symbol = NULL;
   857             
   857             
   858             /* Get the value from a foo(<param_value>) style call */
   858             /* Get the value from a foo(<param_value>) style call */
   859             if (IN_param_value == NULL)
   859             if (IN_param_value == NULL)
   860               IN_param_value = function_call_param_iterator.next_nf();
   860               IN_param_value = function_call_param_iterator.next_nf();
   868         
   868         
   869                 function_name = (symbol_c*)(new pragma_c("__move_"));
   869                 function_name = (symbol_c*)(new pragma_c("__move_"));
   870                 
   870                 
   871                 if (IN_type_symbol == NULL)
   871                 if (IN_type_symbol == NULL)
   872                   IN_type_symbol = last_type_symbol;
   872                   IN_type_symbol = last_type_symbol;
   873                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   873                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   874                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
   874                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
   875                 function_type_prefix = return_type_symbol;
   875                 function_type_prefix = return_type_symbol;
   876                 function_type_suffix = IN_type_symbol;
   876                 function_type_suffix = IN_type_symbol;
   877                 break;
   877                 break;
   878                 
   878                 
   891     case function_sint_to_lint :
   891     case function_sint_to_lint :
   892     {
   892     {
   893         symbol_c *last_type_symbol = NULL;
   893         symbol_c *last_type_symbol = NULL;
   894 
   894 
   895         {
   895         {
   896             identifier_c IN_param_name("IN");
   896             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   897             /* Get the value from a foo(<param_name> = <param_value>) style call */
   897             /* Get the value from a foo(<param_name> = <param_value>) style call */
   898             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   898             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   899             symbol_c *IN_type_symbol = NULL;
   899             symbol_c *IN_type_symbol = NULL;
   900             
   900             
   901             /* Get the value from a foo(<param_value>) style call */
   901             /* Get the value from a foo(<param_value>) style call */
   902             if (IN_param_value == NULL)
   902             if (IN_param_value == NULL)
   903               IN_param_value = function_call_param_iterator.next_nf();
   903               IN_param_value = function_call_param_iterator.next_nf();
   911         
   911         
   912                 function_name = (symbol_c*)(new pragma_c("__move_"));
   912                 function_name = (symbol_c*)(new pragma_c("__move_"));
   913                 
   913                 
   914                 if (IN_type_symbol == NULL)
   914                 if (IN_type_symbol == NULL)
   915                   IN_type_symbol = last_type_symbol;
   915                   IN_type_symbol = last_type_symbol;
   916                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   916                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   917                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
   917                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
   918                 function_type_prefix = return_type_symbol;
   918                 function_type_prefix = return_type_symbol;
   919                 function_type_suffix = IN_type_symbol;
   919                 function_type_suffix = IN_type_symbol;
   920                 break;
   920                 break;
   921                 
   921                 
   934     case function_sint_to_dint :
   934     case function_sint_to_dint :
   935     {
   935     {
   936         symbol_c *last_type_symbol = NULL;
   936         symbol_c *last_type_symbol = NULL;
   937 
   937 
   938         {
   938         {
   939             identifier_c IN_param_name("IN");
   939             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   940             /* Get the value from a foo(<param_name> = <param_value>) style call */
   940             /* Get the value from a foo(<param_name> = <param_value>) style call */
   941             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   941             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   942             symbol_c *IN_type_symbol = NULL;
   942             symbol_c *IN_type_symbol = NULL;
   943             
   943             
   944             /* Get the value from a foo(<param_value>) style call */
   944             /* Get the value from a foo(<param_value>) style call */
   945             if (IN_param_value == NULL)
   945             if (IN_param_value == NULL)
   946               IN_param_value = function_call_param_iterator.next_nf();
   946               IN_param_value = function_call_param_iterator.next_nf();
   954         
   954         
   955                 function_name = (symbol_c*)(new pragma_c("__move_"));
   955                 function_name = (symbol_c*)(new pragma_c("__move_"));
   956                 
   956                 
   957                 if (IN_type_symbol == NULL)
   957                 if (IN_type_symbol == NULL)
   958                   IN_type_symbol = last_type_symbol;
   958                   IN_type_symbol = last_type_symbol;
   959                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   959                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
   960                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
   960                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
   961                 function_type_prefix = return_type_symbol;
   961                 function_type_prefix = return_type_symbol;
   962                 function_type_suffix = IN_type_symbol;
   962                 function_type_suffix = IN_type_symbol;
   963                 break;
   963                 break;
   964                 
   964                 
   977     case function_sint_to_date :
   977     case function_sint_to_date :
   978     {
   978     {
   979         symbol_c *last_type_symbol = NULL;
   979         symbol_c *last_type_symbol = NULL;
   980 
   980 
   981         {
   981         {
   982             identifier_c IN_param_name("IN");
   982             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
   983             /* Get the value from a foo(<param_name> = <param_value>) style call */
   983             /* Get the value from a foo(<param_name> = <param_value>) style call */
   984             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
   984             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
   985             symbol_c *IN_type_symbol = NULL;
   985             symbol_c *IN_type_symbol = NULL;
   986             
   986             
   987             /* Get the value from a foo(<param_value>) style call */
   987             /* Get the value from a foo(<param_value>) style call */
   988             if (IN_param_value == NULL)
   988             if (IN_param_value == NULL)
   989               IN_param_value = function_call_param_iterator.next_nf();
   989               IN_param_value = function_call_param_iterator.next_nf();
   997         
   997         
   998                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
   998                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
   999                 
   999                 
  1000                 if (IN_type_symbol == NULL)
  1000                 if (IN_type_symbol == NULL)
  1001                   IN_type_symbol = last_type_symbol;
  1001                   IN_type_symbol = last_type_symbol;
  1002                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1002                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1003                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  1003                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  1004                 function_type_prefix = return_type_symbol;
  1004                 function_type_prefix = return_type_symbol;
  1005                 break;
  1005                 break;
  1006                 
  1006                 
  1007             }
  1007             }
  1019     case function_sint_to_dword :
  1019     case function_sint_to_dword :
  1020     {
  1020     {
  1021         symbol_c *last_type_symbol = NULL;
  1021         symbol_c *last_type_symbol = NULL;
  1022 
  1022 
  1023         {
  1023         {
  1024             identifier_c IN_param_name("IN");
  1024             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1025             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1025             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1026             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1026             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1027             symbol_c *IN_type_symbol = NULL;
  1027             symbol_c *IN_type_symbol = NULL;
  1028             
  1028             
  1029             /* Get the value from a foo(<param_value>) style call */
  1029             /* Get the value from a foo(<param_value>) style call */
  1030             if (IN_param_value == NULL)
  1030             if (IN_param_value == NULL)
  1031               IN_param_value = function_call_param_iterator.next_nf();
  1031               IN_param_value = function_call_param_iterator.next_nf();
  1039         
  1039         
  1040                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1040                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1041                 
  1041                 
  1042                 if (IN_type_symbol == NULL)
  1042                 if (IN_type_symbol == NULL)
  1043                   IN_type_symbol = last_type_symbol;
  1043                   IN_type_symbol = last_type_symbol;
  1044                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1044                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1045                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  1045                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  1046                 function_type_prefix = return_type_symbol;
  1046                 function_type_prefix = return_type_symbol;
  1047                 function_type_suffix = IN_type_symbol;
  1047                 function_type_suffix = IN_type_symbol;
  1048                 break;
  1048                 break;
  1049                 
  1049                 
  1062     case function_sint_to_dt :
  1062     case function_sint_to_dt :
  1063     {
  1063     {
  1064         symbol_c *last_type_symbol = NULL;
  1064         symbol_c *last_type_symbol = NULL;
  1065 
  1065 
  1066         {
  1066         {
  1067             identifier_c IN_param_name("IN");
  1067             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1068             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1068             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1069             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1069             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1070             symbol_c *IN_type_symbol = NULL;
  1070             symbol_c *IN_type_symbol = NULL;
  1071             
  1071             
  1072             /* Get the value from a foo(<param_value>) style call */
  1072             /* Get the value from a foo(<param_value>) style call */
  1073             if (IN_param_value == NULL)
  1073             if (IN_param_value == NULL)
  1074               IN_param_value = function_call_param_iterator.next_nf();
  1074               IN_param_value = function_call_param_iterator.next_nf();
  1082         
  1082         
  1083                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  1083                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  1084                 
  1084                 
  1085                 if (IN_type_symbol == NULL)
  1085                 if (IN_type_symbol == NULL)
  1086                   IN_type_symbol = last_type_symbol;
  1086                   IN_type_symbol = last_type_symbol;
  1087                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1087                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1088                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  1088                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  1089                 function_type_prefix = return_type_symbol;
  1089                 function_type_prefix = return_type_symbol;
  1090                 break;
  1090                 break;
  1091                 
  1091                 
  1092             }
  1092             }
  1104     case function_sint_to_tod :
  1104     case function_sint_to_tod :
  1105     {
  1105     {
  1106         symbol_c *last_type_symbol = NULL;
  1106         symbol_c *last_type_symbol = NULL;
  1107 
  1107 
  1108         {
  1108         {
  1109             identifier_c IN_param_name("IN");
  1109             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1110             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1110             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1111             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1111             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1112             symbol_c *IN_type_symbol = NULL;
  1112             symbol_c *IN_type_symbol = NULL;
  1113             
  1113             
  1114             /* Get the value from a foo(<param_value>) style call */
  1114             /* Get the value from a foo(<param_value>) style call */
  1115             if (IN_param_value == NULL)
  1115             if (IN_param_value == NULL)
  1116               IN_param_value = function_call_param_iterator.next_nf();
  1116               IN_param_value = function_call_param_iterator.next_nf();
  1124         
  1124         
  1125                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  1125                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  1126                 
  1126                 
  1127                 if (IN_type_symbol == NULL)
  1127                 if (IN_type_symbol == NULL)
  1128                   IN_type_symbol = last_type_symbol;
  1128                   IN_type_symbol = last_type_symbol;
  1129                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1129                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1130                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  1130                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  1131                 function_type_prefix = return_type_symbol;
  1131                 function_type_prefix = return_type_symbol;
  1132                 break;
  1132                 break;
  1133                 
  1133                 
  1134             }
  1134             }
  1146     case function_sint_to_udint :
  1146     case function_sint_to_udint :
  1147     {
  1147     {
  1148         symbol_c *last_type_symbol = NULL;
  1148         symbol_c *last_type_symbol = NULL;
  1149 
  1149 
  1150         {
  1150         {
  1151             identifier_c IN_param_name("IN");
  1151             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1152             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1152             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1153             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1153             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1154             symbol_c *IN_type_symbol = NULL;
  1154             symbol_c *IN_type_symbol = NULL;
  1155             
  1155             
  1156             /* Get the value from a foo(<param_value>) style call */
  1156             /* Get the value from a foo(<param_value>) style call */
  1157             if (IN_param_value == NULL)
  1157             if (IN_param_value == NULL)
  1158               IN_param_value = function_call_param_iterator.next_nf();
  1158               IN_param_value = function_call_param_iterator.next_nf();
  1166         
  1166         
  1167                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1167                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1168                 
  1168                 
  1169                 if (IN_type_symbol == NULL)
  1169                 if (IN_type_symbol == NULL)
  1170                   IN_type_symbol = last_type_symbol;
  1170                   IN_type_symbol = last_type_symbol;
  1171                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1171                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1172                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  1172                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  1173                 function_type_prefix = return_type_symbol;
  1173                 function_type_prefix = return_type_symbol;
  1174                 function_type_suffix = IN_type_symbol;
  1174                 function_type_suffix = IN_type_symbol;
  1175                 break;
  1175                 break;
  1176                 
  1176                 
  1189     case function_sint_to_word :
  1189     case function_sint_to_word :
  1190     {
  1190     {
  1191         symbol_c *last_type_symbol = NULL;
  1191         symbol_c *last_type_symbol = NULL;
  1192 
  1192 
  1193         {
  1193         {
  1194             identifier_c IN_param_name("IN");
  1194             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1195             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1195             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1196             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1196             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1197             symbol_c *IN_type_symbol = NULL;
  1197             symbol_c *IN_type_symbol = NULL;
  1198             
  1198             
  1199             /* Get the value from a foo(<param_value>) style call */
  1199             /* Get the value from a foo(<param_value>) style call */
  1200             if (IN_param_value == NULL)
  1200             if (IN_param_value == NULL)
  1201               IN_param_value = function_call_param_iterator.next_nf();
  1201               IN_param_value = function_call_param_iterator.next_nf();
  1209         
  1209         
  1210                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1210                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1211                 
  1211                 
  1212                 if (IN_type_symbol == NULL)
  1212                 if (IN_type_symbol == NULL)
  1213                   IN_type_symbol = last_type_symbol;
  1213                   IN_type_symbol = last_type_symbol;
  1214                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1214                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1215                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  1215                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  1216                 function_type_prefix = return_type_symbol;
  1216                 function_type_prefix = return_type_symbol;
  1217                 function_type_suffix = IN_type_symbol;
  1217                 function_type_suffix = IN_type_symbol;
  1218                 break;
  1218                 break;
  1219                 
  1219                 
  1232     case function_sint_to_string :
  1232     case function_sint_to_string :
  1233     {
  1233     {
  1234         symbol_c *last_type_symbol = NULL;
  1234         symbol_c *last_type_symbol = NULL;
  1235 
  1235 
  1236         {
  1236         {
  1237             identifier_c IN_param_name("IN");
  1237             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1238             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1238             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1239             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1239             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1240             symbol_c *IN_type_symbol = NULL;
  1240             symbol_c *IN_type_symbol = NULL;
  1241             
  1241             
  1242             /* Get the value from a foo(<param_value>) style call */
  1242             /* Get the value from a foo(<param_value>) style call */
  1243             if (IN_param_value == NULL)
  1243             if (IN_param_value == NULL)
  1244               IN_param_value = function_call_param_iterator.next_nf();
  1244               IN_param_value = function_call_param_iterator.next_nf();
  1252         
  1252         
  1253                 function_name = (symbol_c*)(new pragma_c("__sint_to_string"));
  1253                 function_name = (symbol_c*)(new pragma_c("__sint_to_string"));
  1254                 
  1254                 
  1255                 if (IN_type_symbol == NULL)
  1255                 if (IN_type_symbol == NULL)
  1256                   IN_type_symbol = last_type_symbol;
  1256                   IN_type_symbol = last_type_symbol;
  1257                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1257                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1258                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  1258                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  1259                 function_type_prefix = return_type_symbol;
  1259                 function_type_prefix = return_type_symbol;
  1260                 break;
  1260                 break;
  1261                 
  1261                 
  1262             }
  1262             }
  1274     case function_sint_to_lword :
  1274     case function_sint_to_lword :
  1275     {
  1275     {
  1276         symbol_c *last_type_symbol = NULL;
  1276         symbol_c *last_type_symbol = NULL;
  1277 
  1277 
  1278         {
  1278         {
  1279             identifier_c IN_param_name("IN");
  1279             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1280             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1280             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1281             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1281             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1282             symbol_c *IN_type_symbol = NULL;
  1282             symbol_c *IN_type_symbol = NULL;
  1283             
  1283             
  1284             /* Get the value from a foo(<param_value>) style call */
  1284             /* Get the value from a foo(<param_value>) style call */
  1285             if (IN_param_value == NULL)
  1285             if (IN_param_value == NULL)
  1286               IN_param_value = function_call_param_iterator.next_nf();
  1286               IN_param_value = function_call_param_iterator.next_nf();
  1294         
  1294         
  1295                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1295                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1296                 
  1296                 
  1297                 if (IN_type_symbol == NULL)
  1297                 if (IN_type_symbol == NULL)
  1298                   IN_type_symbol = last_type_symbol;
  1298                   IN_type_symbol = last_type_symbol;
  1299                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1299                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1300                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  1300                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  1301                 function_type_prefix = return_type_symbol;
  1301                 function_type_prefix = return_type_symbol;
  1302                 function_type_suffix = IN_type_symbol;
  1302                 function_type_suffix = IN_type_symbol;
  1303                 break;
  1303                 break;
  1304                 
  1304                 
  1317     case function_sint_to_uint :
  1317     case function_sint_to_uint :
  1318     {
  1318     {
  1319         symbol_c *last_type_symbol = NULL;
  1319         symbol_c *last_type_symbol = NULL;
  1320 
  1320 
  1321         {
  1321         {
  1322             identifier_c IN_param_name("IN");
  1322             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1323             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1323             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1324             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1324             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1325             symbol_c *IN_type_symbol = NULL;
  1325             symbol_c *IN_type_symbol = NULL;
  1326             
  1326             
  1327             /* Get the value from a foo(<param_value>) style call */
  1327             /* Get the value from a foo(<param_value>) style call */
  1328             if (IN_param_value == NULL)
  1328             if (IN_param_value == NULL)
  1329               IN_param_value = function_call_param_iterator.next_nf();
  1329               IN_param_value = function_call_param_iterator.next_nf();
  1337         
  1337         
  1338                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1338                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1339                 
  1339                 
  1340                 if (IN_type_symbol == NULL)
  1340                 if (IN_type_symbol == NULL)
  1341                   IN_type_symbol = last_type_symbol;
  1341                   IN_type_symbol = last_type_symbol;
  1342                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1342                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1343                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  1343                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  1344                 function_type_prefix = return_type_symbol;
  1344                 function_type_prefix = return_type_symbol;
  1345                 function_type_suffix = IN_type_symbol;
  1345                 function_type_suffix = IN_type_symbol;
  1346                 break;
  1346                 break;
  1347                 
  1347                 
  1360     case function_sint_to_lreal :
  1360     case function_sint_to_lreal :
  1361     {
  1361     {
  1362         symbol_c *last_type_symbol = NULL;
  1362         symbol_c *last_type_symbol = NULL;
  1363 
  1363 
  1364         {
  1364         {
  1365             identifier_c IN_param_name("IN");
  1365             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1366             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1366             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1367             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1367             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1368             symbol_c *IN_type_symbol = NULL;
  1368             symbol_c *IN_type_symbol = NULL;
  1369             
  1369             
  1370             /* Get the value from a foo(<param_value>) style call */
  1370             /* Get the value from a foo(<param_value>) style call */
  1371             if (IN_param_value == NULL)
  1371             if (IN_param_value == NULL)
  1372               IN_param_value = function_call_param_iterator.next_nf();
  1372               IN_param_value = function_call_param_iterator.next_nf();
  1380         
  1380         
  1381                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1381                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1382                 
  1382                 
  1383                 if (IN_type_symbol == NULL)
  1383                 if (IN_type_symbol == NULL)
  1384                   IN_type_symbol = last_type_symbol;
  1384                   IN_type_symbol = last_type_symbol;
  1385                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1385                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1386                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  1386                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  1387                 function_type_prefix = return_type_symbol;
  1387                 function_type_prefix = return_type_symbol;
  1388                 function_type_suffix = IN_type_symbol;
  1388                 function_type_suffix = IN_type_symbol;
  1389                 break;
  1389                 break;
  1390                 
  1390                 
  1403     case function_sint_to_byte :
  1403     case function_sint_to_byte :
  1404     {
  1404     {
  1405         symbol_c *last_type_symbol = NULL;
  1405         symbol_c *last_type_symbol = NULL;
  1406 
  1406 
  1407         {
  1407         {
  1408             identifier_c IN_param_name("IN");
  1408             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1409             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1409             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1410             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1410             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1411             symbol_c *IN_type_symbol = NULL;
  1411             symbol_c *IN_type_symbol = NULL;
  1412             
  1412             
  1413             /* Get the value from a foo(<param_value>) style call */
  1413             /* Get the value from a foo(<param_value>) style call */
  1414             if (IN_param_value == NULL)
  1414             if (IN_param_value == NULL)
  1415               IN_param_value = function_call_param_iterator.next_nf();
  1415               IN_param_value = function_call_param_iterator.next_nf();
  1423         
  1423         
  1424                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1424                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1425                 
  1425                 
  1426                 if (IN_type_symbol == NULL)
  1426                 if (IN_type_symbol == NULL)
  1427                   IN_type_symbol = last_type_symbol;
  1427                   IN_type_symbol = last_type_symbol;
  1428                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1428                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1429                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  1429                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  1430                 function_type_prefix = return_type_symbol;
  1430                 function_type_prefix = return_type_symbol;
  1431                 function_type_suffix = IN_type_symbol;
  1431                 function_type_suffix = IN_type_symbol;
  1432                 break;
  1432                 break;
  1433                 
  1433                 
  1446     case function_sint_to_usint :
  1446     case function_sint_to_usint :
  1447     {
  1447     {
  1448         symbol_c *last_type_symbol = NULL;
  1448         symbol_c *last_type_symbol = NULL;
  1449 
  1449 
  1450         {
  1450         {
  1451             identifier_c IN_param_name("IN");
  1451             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1452             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1452             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1453             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1453             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1454             symbol_c *IN_type_symbol = NULL;
  1454             symbol_c *IN_type_symbol = NULL;
  1455             
  1455             
  1456             /* Get the value from a foo(<param_value>) style call */
  1456             /* Get the value from a foo(<param_value>) style call */
  1457             if (IN_param_value == NULL)
  1457             if (IN_param_value == NULL)
  1458               IN_param_value = function_call_param_iterator.next_nf();
  1458               IN_param_value = function_call_param_iterator.next_nf();
  1466         
  1466         
  1467                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1467                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1468                 
  1468                 
  1469                 if (IN_type_symbol == NULL)
  1469                 if (IN_type_symbol == NULL)
  1470                   IN_type_symbol = last_type_symbol;
  1470                   IN_type_symbol = last_type_symbol;
  1471                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1471                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1472                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  1472                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  1473                 function_type_prefix = return_type_symbol;
  1473                 function_type_prefix = return_type_symbol;
  1474                 function_type_suffix = IN_type_symbol;
  1474                 function_type_suffix = IN_type_symbol;
  1475                 break;
  1475                 break;
  1476                 
  1476                 
  1489     case function_sint_to_ulint :
  1489     case function_sint_to_ulint :
  1490     {
  1490     {
  1491         symbol_c *last_type_symbol = NULL;
  1491         symbol_c *last_type_symbol = NULL;
  1492 
  1492 
  1493         {
  1493         {
  1494             identifier_c IN_param_name("IN");
  1494             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1495             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1495             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1496             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1496             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1497             symbol_c *IN_type_symbol = NULL;
  1497             symbol_c *IN_type_symbol = NULL;
  1498             
  1498             
  1499             /* Get the value from a foo(<param_value>) style call */
  1499             /* Get the value from a foo(<param_value>) style call */
  1500             if (IN_param_value == NULL)
  1500             if (IN_param_value == NULL)
  1501               IN_param_value = function_call_param_iterator.next_nf();
  1501               IN_param_value = function_call_param_iterator.next_nf();
  1509         
  1509         
  1510                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1510                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1511                 
  1511                 
  1512                 if (IN_type_symbol == NULL)
  1512                 if (IN_type_symbol == NULL)
  1513                   IN_type_symbol = last_type_symbol;
  1513                   IN_type_symbol = last_type_symbol;
  1514                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1514                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1515                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  1515                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  1516                 function_type_prefix = return_type_symbol;
  1516                 function_type_prefix = return_type_symbol;
  1517                 function_type_suffix = IN_type_symbol;
  1517                 function_type_suffix = IN_type_symbol;
  1518                 break;
  1518                 break;
  1519                 
  1519                 
  1532     case function_sint_to_bool :
  1532     case function_sint_to_bool :
  1533     {
  1533     {
  1534         symbol_c *last_type_symbol = NULL;
  1534         symbol_c *last_type_symbol = NULL;
  1535 
  1535 
  1536         {
  1536         {
  1537             identifier_c IN_param_name("IN");
  1537             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1538             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1538             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1539             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1539             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1540             symbol_c *IN_type_symbol = NULL;
  1540             symbol_c *IN_type_symbol = NULL;
  1541             
  1541             
  1542             /* Get the value from a foo(<param_value>) style call */
  1542             /* Get the value from a foo(<param_value>) style call */
  1543             if (IN_param_value == NULL)
  1543             if (IN_param_value == NULL)
  1544               IN_param_value = function_call_param_iterator.next_nf();
  1544               IN_param_value = function_call_param_iterator.next_nf();
  1552         
  1552         
  1553                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1553                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1554                 
  1554                 
  1555                 if (IN_type_symbol == NULL)
  1555                 if (IN_type_symbol == NULL)
  1556                   IN_type_symbol = last_type_symbol;
  1556                   IN_type_symbol = last_type_symbol;
  1557                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1557                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1558                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  1558                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  1559                 function_type_prefix = return_type_symbol;
  1559                 function_type_prefix = return_type_symbol;
  1560                 function_type_suffix = IN_type_symbol;
  1560                 function_type_suffix = IN_type_symbol;
  1561                 break;
  1561                 break;
  1562                 
  1562                 
  1575     case function_sint_to_time :
  1575     case function_sint_to_time :
  1576     {
  1576     {
  1577         symbol_c *last_type_symbol = NULL;
  1577         symbol_c *last_type_symbol = NULL;
  1578 
  1578 
  1579         {
  1579         {
  1580             identifier_c IN_param_name("IN");
  1580             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1581             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1581             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1582             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1582             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1583             symbol_c *IN_type_symbol = NULL;
  1583             symbol_c *IN_type_symbol = NULL;
  1584             
  1584             
  1585             /* Get the value from a foo(<param_value>) style call */
  1585             /* Get the value from a foo(<param_value>) style call */
  1586             if (IN_param_value == NULL)
  1586             if (IN_param_value == NULL)
  1587               IN_param_value = function_call_param_iterator.next_nf();
  1587               IN_param_value = function_call_param_iterator.next_nf();
  1595         
  1595         
  1596                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  1596                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  1597                 
  1597                 
  1598                 if (IN_type_symbol == NULL)
  1598                 if (IN_type_symbol == NULL)
  1599                   IN_type_symbol = last_type_symbol;
  1599                   IN_type_symbol = last_type_symbol;
  1600                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1600                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1601                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  1601                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  1602                 function_type_prefix = return_type_symbol;
  1602                 function_type_prefix = return_type_symbol;
  1603                 break;
  1603                 break;
  1604                 
  1604                 
  1605             }
  1605             }
  1617     case function_sint_to_int :
  1617     case function_sint_to_int :
  1618     {
  1618     {
  1619         symbol_c *last_type_symbol = NULL;
  1619         symbol_c *last_type_symbol = NULL;
  1620 
  1620 
  1621         {
  1621         {
  1622             identifier_c IN_param_name("IN");
  1622             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1623             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1623             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1624             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1624             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1625             symbol_c *IN_type_symbol = NULL;
  1625             symbol_c *IN_type_symbol = NULL;
  1626             
  1626             
  1627             /* Get the value from a foo(<param_value>) style call */
  1627             /* Get the value from a foo(<param_value>) style call */
  1628             if (IN_param_value == NULL)
  1628             if (IN_param_value == NULL)
  1629               IN_param_value = function_call_param_iterator.next_nf();
  1629               IN_param_value = function_call_param_iterator.next_nf();
  1637         
  1637         
  1638                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1638                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1639                 
  1639                 
  1640                 if (IN_type_symbol == NULL)
  1640                 if (IN_type_symbol == NULL)
  1641                   IN_type_symbol = last_type_symbol;
  1641                   IN_type_symbol = last_type_symbol;
  1642                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1642                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1643                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  1643                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  1644                 function_type_prefix = return_type_symbol;
  1644                 function_type_prefix = return_type_symbol;
  1645                 function_type_suffix = IN_type_symbol;
  1645                 function_type_suffix = IN_type_symbol;
  1646                 break;
  1646                 break;
  1647                 
  1647                 
  1660     case function_lint_to_real :
  1660     case function_lint_to_real :
  1661     {
  1661     {
  1662         symbol_c *last_type_symbol = NULL;
  1662         symbol_c *last_type_symbol = NULL;
  1663 
  1663 
  1664         {
  1664         {
  1665             identifier_c IN_param_name("IN");
  1665             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1666             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1666             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1667             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1667             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1668             symbol_c *IN_type_symbol = NULL;
  1668             symbol_c *IN_type_symbol = NULL;
  1669             
  1669             
  1670             /* Get the value from a foo(<param_value>) style call */
  1670             /* Get the value from a foo(<param_value>) style call */
  1671             if (IN_param_value == NULL)
  1671             if (IN_param_value == NULL)
  1672               IN_param_value = function_call_param_iterator.next_nf();
  1672               IN_param_value = function_call_param_iterator.next_nf();
  1680         
  1680         
  1681                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1681                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1682                 
  1682                 
  1683                 if (IN_type_symbol == NULL)
  1683                 if (IN_type_symbol == NULL)
  1684                   IN_type_symbol = last_type_symbol;
  1684                   IN_type_symbol = last_type_symbol;
  1685                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1685                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1686                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  1686                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  1687                 function_type_prefix = return_type_symbol;
  1687                 function_type_prefix = return_type_symbol;
  1688                 function_type_suffix = IN_type_symbol;
  1688                 function_type_suffix = IN_type_symbol;
  1689                 break;
  1689                 break;
  1690                 
  1690                 
  1703     case function_lint_to_sint :
  1703     case function_lint_to_sint :
  1704     {
  1704     {
  1705         symbol_c *last_type_symbol = NULL;
  1705         symbol_c *last_type_symbol = NULL;
  1706 
  1706 
  1707         {
  1707         {
  1708             identifier_c IN_param_name("IN");
  1708             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1709             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1709             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1710             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1710             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1711             symbol_c *IN_type_symbol = NULL;
  1711             symbol_c *IN_type_symbol = NULL;
  1712             
  1712             
  1713             /* Get the value from a foo(<param_value>) style call */
  1713             /* Get the value from a foo(<param_value>) style call */
  1714             if (IN_param_value == NULL)
  1714             if (IN_param_value == NULL)
  1715               IN_param_value = function_call_param_iterator.next_nf();
  1715               IN_param_value = function_call_param_iterator.next_nf();
  1723         
  1723         
  1724                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1724                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1725                 
  1725                 
  1726                 if (IN_type_symbol == NULL)
  1726                 if (IN_type_symbol == NULL)
  1727                   IN_type_symbol = last_type_symbol;
  1727                   IN_type_symbol = last_type_symbol;
  1728                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1728                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1729                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  1729                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  1730                 function_type_prefix = return_type_symbol;
  1730                 function_type_prefix = return_type_symbol;
  1731                 function_type_suffix = IN_type_symbol;
  1731                 function_type_suffix = IN_type_symbol;
  1732                 break;
  1732                 break;
  1733                 
  1733                 
  1746     case function_lint_to_dint :
  1746     case function_lint_to_dint :
  1747     {
  1747     {
  1748         symbol_c *last_type_symbol = NULL;
  1748         symbol_c *last_type_symbol = NULL;
  1749 
  1749 
  1750         {
  1750         {
  1751             identifier_c IN_param_name("IN");
  1751             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1752             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1752             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1753             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1753             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1754             symbol_c *IN_type_symbol = NULL;
  1754             symbol_c *IN_type_symbol = NULL;
  1755             
  1755             
  1756             /* Get the value from a foo(<param_value>) style call */
  1756             /* Get the value from a foo(<param_value>) style call */
  1757             if (IN_param_value == NULL)
  1757             if (IN_param_value == NULL)
  1758               IN_param_value = function_call_param_iterator.next_nf();
  1758               IN_param_value = function_call_param_iterator.next_nf();
  1766         
  1766         
  1767                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1767                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1768                 
  1768                 
  1769                 if (IN_type_symbol == NULL)
  1769                 if (IN_type_symbol == NULL)
  1770                   IN_type_symbol = last_type_symbol;
  1770                   IN_type_symbol = last_type_symbol;
  1771                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1771                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1772                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  1772                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  1773                 function_type_prefix = return_type_symbol;
  1773                 function_type_prefix = return_type_symbol;
  1774                 function_type_suffix = IN_type_symbol;
  1774                 function_type_suffix = IN_type_symbol;
  1775                 break;
  1775                 break;
  1776                 
  1776                 
  1789     case function_lint_to_date :
  1789     case function_lint_to_date :
  1790     {
  1790     {
  1791         symbol_c *last_type_symbol = NULL;
  1791         symbol_c *last_type_symbol = NULL;
  1792 
  1792 
  1793         {
  1793         {
  1794             identifier_c IN_param_name("IN");
  1794             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1795             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1795             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1796             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1796             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1797             symbol_c *IN_type_symbol = NULL;
  1797             symbol_c *IN_type_symbol = NULL;
  1798             
  1798             
  1799             /* Get the value from a foo(<param_value>) style call */
  1799             /* Get the value from a foo(<param_value>) style call */
  1800             if (IN_param_value == NULL)
  1800             if (IN_param_value == NULL)
  1801               IN_param_value = function_call_param_iterator.next_nf();
  1801               IN_param_value = function_call_param_iterator.next_nf();
  1809         
  1809         
  1810                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  1810                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  1811                 
  1811                 
  1812                 if (IN_type_symbol == NULL)
  1812                 if (IN_type_symbol == NULL)
  1813                   IN_type_symbol = last_type_symbol;
  1813                   IN_type_symbol = last_type_symbol;
  1814                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1814                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1815                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  1815                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  1816                 function_type_prefix = return_type_symbol;
  1816                 function_type_prefix = return_type_symbol;
  1817                 break;
  1817                 break;
  1818                 
  1818                 
  1819             }
  1819             }
  1831     case function_lint_to_dword :
  1831     case function_lint_to_dword :
  1832     {
  1832     {
  1833         symbol_c *last_type_symbol = NULL;
  1833         symbol_c *last_type_symbol = NULL;
  1834 
  1834 
  1835         {
  1835         {
  1836             identifier_c IN_param_name("IN");
  1836             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1837             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1837             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1838             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1838             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1839             symbol_c *IN_type_symbol = NULL;
  1839             symbol_c *IN_type_symbol = NULL;
  1840             
  1840             
  1841             /* Get the value from a foo(<param_value>) style call */
  1841             /* Get the value from a foo(<param_value>) style call */
  1842             if (IN_param_value == NULL)
  1842             if (IN_param_value == NULL)
  1843               IN_param_value = function_call_param_iterator.next_nf();
  1843               IN_param_value = function_call_param_iterator.next_nf();
  1851         
  1851         
  1852                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1852                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1853                 
  1853                 
  1854                 if (IN_type_symbol == NULL)
  1854                 if (IN_type_symbol == NULL)
  1855                   IN_type_symbol = last_type_symbol;
  1855                   IN_type_symbol = last_type_symbol;
  1856                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1856                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1857                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  1857                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  1858                 function_type_prefix = return_type_symbol;
  1858                 function_type_prefix = return_type_symbol;
  1859                 function_type_suffix = IN_type_symbol;
  1859                 function_type_suffix = IN_type_symbol;
  1860                 break;
  1860                 break;
  1861                 
  1861                 
  1874     case function_lint_to_dt :
  1874     case function_lint_to_dt :
  1875     {
  1875     {
  1876         symbol_c *last_type_symbol = NULL;
  1876         symbol_c *last_type_symbol = NULL;
  1877 
  1877 
  1878         {
  1878         {
  1879             identifier_c IN_param_name("IN");
  1879             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1880             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1880             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1881             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1881             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1882             symbol_c *IN_type_symbol = NULL;
  1882             symbol_c *IN_type_symbol = NULL;
  1883             
  1883             
  1884             /* Get the value from a foo(<param_value>) style call */
  1884             /* Get the value from a foo(<param_value>) style call */
  1885             if (IN_param_value == NULL)
  1885             if (IN_param_value == NULL)
  1886               IN_param_value = function_call_param_iterator.next_nf();
  1886               IN_param_value = function_call_param_iterator.next_nf();
  1894         
  1894         
  1895                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  1895                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  1896                 
  1896                 
  1897                 if (IN_type_symbol == NULL)
  1897                 if (IN_type_symbol == NULL)
  1898                   IN_type_symbol = last_type_symbol;
  1898                   IN_type_symbol = last_type_symbol;
  1899                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1899                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1900                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  1900                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  1901                 function_type_prefix = return_type_symbol;
  1901                 function_type_prefix = return_type_symbol;
  1902                 break;
  1902                 break;
  1903                 
  1903                 
  1904             }
  1904             }
  1916     case function_lint_to_tod :
  1916     case function_lint_to_tod :
  1917     {
  1917     {
  1918         symbol_c *last_type_symbol = NULL;
  1918         symbol_c *last_type_symbol = NULL;
  1919 
  1919 
  1920         {
  1920         {
  1921             identifier_c IN_param_name("IN");
  1921             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1922             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1922             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1923             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1923             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1924             symbol_c *IN_type_symbol = NULL;
  1924             symbol_c *IN_type_symbol = NULL;
  1925             
  1925             
  1926             /* Get the value from a foo(<param_value>) style call */
  1926             /* Get the value from a foo(<param_value>) style call */
  1927             if (IN_param_value == NULL)
  1927             if (IN_param_value == NULL)
  1928               IN_param_value = function_call_param_iterator.next_nf();
  1928               IN_param_value = function_call_param_iterator.next_nf();
  1936         
  1936         
  1937                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  1937                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  1938                 
  1938                 
  1939                 if (IN_type_symbol == NULL)
  1939                 if (IN_type_symbol == NULL)
  1940                   IN_type_symbol = last_type_symbol;
  1940                   IN_type_symbol = last_type_symbol;
  1941                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1941                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1942                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  1942                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  1943                 function_type_prefix = return_type_symbol;
  1943                 function_type_prefix = return_type_symbol;
  1944                 break;
  1944                 break;
  1945                 
  1945                 
  1946             }
  1946             }
  1958     case function_lint_to_udint :
  1958     case function_lint_to_udint :
  1959     {
  1959     {
  1960         symbol_c *last_type_symbol = NULL;
  1960         symbol_c *last_type_symbol = NULL;
  1961 
  1961 
  1962         {
  1962         {
  1963             identifier_c IN_param_name("IN");
  1963             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  1964             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1964             /* Get the value from a foo(<param_name> = <param_value>) style call */
  1965             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  1965             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  1966             symbol_c *IN_type_symbol = NULL;
  1966             symbol_c *IN_type_symbol = NULL;
  1967             
  1967             
  1968             /* Get the value from a foo(<param_value>) style call */
  1968             /* Get the value from a foo(<param_value>) style call */
  1969             if (IN_param_value == NULL)
  1969             if (IN_param_value == NULL)
  1970               IN_param_value = function_call_param_iterator.next_nf();
  1970               IN_param_value = function_call_param_iterator.next_nf();
  1978         
  1978         
  1979                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1979                 function_name = (symbol_c*)(new pragma_c("__move_"));
  1980                 
  1980                 
  1981                 if (IN_type_symbol == NULL)
  1981                 if (IN_type_symbol == NULL)
  1982                   IN_type_symbol = last_type_symbol;
  1982                   IN_type_symbol = last_type_symbol;
  1983                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1983                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  1984                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  1984                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  1985                 function_type_prefix = return_type_symbol;
  1985                 function_type_prefix = return_type_symbol;
  1986                 function_type_suffix = IN_type_symbol;
  1986                 function_type_suffix = IN_type_symbol;
  1987                 break;
  1987                 break;
  1988                 
  1988                 
  2001     case function_lint_to_word :
  2001     case function_lint_to_word :
  2002     {
  2002     {
  2003         symbol_c *last_type_symbol = NULL;
  2003         symbol_c *last_type_symbol = NULL;
  2004 
  2004 
  2005         {
  2005         {
  2006             identifier_c IN_param_name("IN");
  2006             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2007             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2007             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2008             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2008             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2009             symbol_c *IN_type_symbol = NULL;
  2009             symbol_c *IN_type_symbol = NULL;
  2010             
  2010             
  2011             /* Get the value from a foo(<param_value>) style call */
  2011             /* Get the value from a foo(<param_value>) style call */
  2012             if (IN_param_value == NULL)
  2012             if (IN_param_value == NULL)
  2013               IN_param_value = function_call_param_iterator.next_nf();
  2013               IN_param_value = function_call_param_iterator.next_nf();
  2021         
  2021         
  2022                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2022                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2023                 
  2023                 
  2024                 if (IN_type_symbol == NULL)
  2024                 if (IN_type_symbol == NULL)
  2025                   IN_type_symbol = last_type_symbol;
  2025                   IN_type_symbol = last_type_symbol;
  2026                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2026                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2027                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  2027                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  2028                 function_type_prefix = return_type_symbol;
  2028                 function_type_prefix = return_type_symbol;
  2029                 function_type_suffix = IN_type_symbol;
  2029                 function_type_suffix = IN_type_symbol;
  2030                 break;
  2030                 break;
  2031                 
  2031                 
  2044     case function_lint_to_string :
  2044     case function_lint_to_string :
  2045     {
  2045     {
  2046         symbol_c *last_type_symbol = NULL;
  2046         symbol_c *last_type_symbol = NULL;
  2047 
  2047 
  2048         {
  2048         {
  2049             identifier_c IN_param_name("IN");
  2049             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2050             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2050             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2051             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2051             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2052             symbol_c *IN_type_symbol = NULL;
  2052             symbol_c *IN_type_symbol = NULL;
  2053             
  2053             
  2054             /* Get the value from a foo(<param_value>) style call */
  2054             /* Get the value from a foo(<param_value>) style call */
  2055             if (IN_param_value == NULL)
  2055             if (IN_param_value == NULL)
  2056               IN_param_value = function_call_param_iterator.next_nf();
  2056               IN_param_value = function_call_param_iterator.next_nf();
  2064         
  2064         
  2065                 function_name = (symbol_c*)(new pragma_c("__sint_to_string"));
  2065                 function_name = (symbol_c*)(new pragma_c("__sint_to_string"));
  2066                 
  2066                 
  2067                 if (IN_type_symbol == NULL)
  2067                 if (IN_type_symbol == NULL)
  2068                   IN_type_symbol = last_type_symbol;
  2068                   IN_type_symbol = last_type_symbol;
  2069                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2069                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2070                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  2070                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  2071                 function_type_prefix = return_type_symbol;
  2071                 function_type_prefix = return_type_symbol;
  2072                 break;
  2072                 break;
  2073                 
  2073                 
  2074             }
  2074             }
  2086     case function_lint_to_lword :
  2086     case function_lint_to_lword :
  2087     {
  2087     {
  2088         symbol_c *last_type_symbol = NULL;
  2088         symbol_c *last_type_symbol = NULL;
  2089 
  2089 
  2090         {
  2090         {
  2091             identifier_c IN_param_name("IN");
  2091             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2092             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2092             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2093             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2093             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2094             symbol_c *IN_type_symbol = NULL;
  2094             symbol_c *IN_type_symbol = NULL;
  2095             
  2095             
  2096             /* Get the value from a foo(<param_value>) style call */
  2096             /* Get the value from a foo(<param_value>) style call */
  2097             if (IN_param_value == NULL)
  2097             if (IN_param_value == NULL)
  2098               IN_param_value = function_call_param_iterator.next_nf();
  2098               IN_param_value = function_call_param_iterator.next_nf();
  2106         
  2106         
  2107                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2107                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2108                 
  2108                 
  2109                 if (IN_type_symbol == NULL)
  2109                 if (IN_type_symbol == NULL)
  2110                   IN_type_symbol = last_type_symbol;
  2110                   IN_type_symbol = last_type_symbol;
  2111                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2111                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2112                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  2112                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  2113                 function_type_prefix = return_type_symbol;
  2113                 function_type_prefix = return_type_symbol;
  2114                 function_type_suffix = IN_type_symbol;
  2114                 function_type_suffix = IN_type_symbol;
  2115                 break;
  2115                 break;
  2116                 
  2116                 
  2129     case function_lint_to_uint :
  2129     case function_lint_to_uint :
  2130     {
  2130     {
  2131         symbol_c *last_type_symbol = NULL;
  2131         symbol_c *last_type_symbol = NULL;
  2132 
  2132 
  2133         {
  2133         {
  2134             identifier_c IN_param_name("IN");
  2134             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2135             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2135             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2136             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2136             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2137             symbol_c *IN_type_symbol = NULL;
  2137             symbol_c *IN_type_symbol = NULL;
  2138             
  2138             
  2139             /* Get the value from a foo(<param_value>) style call */
  2139             /* Get the value from a foo(<param_value>) style call */
  2140             if (IN_param_value == NULL)
  2140             if (IN_param_value == NULL)
  2141               IN_param_value = function_call_param_iterator.next_nf();
  2141               IN_param_value = function_call_param_iterator.next_nf();
  2149         
  2149         
  2150                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2150                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2151                 
  2151                 
  2152                 if (IN_type_symbol == NULL)
  2152                 if (IN_type_symbol == NULL)
  2153                   IN_type_symbol = last_type_symbol;
  2153                   IN_type_symbol = last_type_symbol;
  2154                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2154                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2155                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  2155                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  2156                 function_type_prefix = return_type_symbol;
  2156                 function_type_prefix = return_type_symbol;
  2157                 function_type_suffix = IN_type_symbol;
  2157                 function_type_suffix = IN_type_symbol;
  2158                 break;
  2158                 break;
  2159                 
  2159                 
  2172     case function_lint_to_lreal :
  2172     case function_lint_to_lreal :
  2173     {
  2173     {
  2174         symbol_c *last_type_symbol = NULL;
  2174         symbol_c *last_type_symbol = NULL;
  2175 
  2175 
  2176         {
  2176         {
  2177             identifier_c IN_param_name("IN");
  2177             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2178             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2178             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2179             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2179             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2180             symbol_c *IN_type_symbol = NULL;
  2180             symbol_c *IN_type_symbol = NULL;
  2181             
  2181             
  2182             /* Get the value from a foo(<param_value>) style call */
  2182             /* Get the value from a foo(<param_value>) style call */
  2183             if (IN_param_value == NULL)
  2183             if (IN_param_value == NULL)
  2184               IN_param_value = function_call_param_iterator.next_nf();
  2184               IN_param_value = function_call_param_iterator.next_nf();
  2192         
  2192         
  2193                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2193                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2194                 
  2194                 
  2195                 if (IN_type_symbol == NULL)
  2195                 if (IN_type_symbol == NULL)
  2196                   IN_type_symbol = last_type_symbol;
  2196                   IN_type_symbol = last_type_symbol;
  2197                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2197                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2198                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  2198                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  2199                 function_type_prefix = return_type_symbol;
  2199                 function_type_prefix = return_type_symbol;
  2200                 function_type_suffix = IN_type_symbol;
  2200                 function_type_suffix = IN_type_symbol;
  2201                 break;
  2201                 break;
  2202                 
  2202                 
  2215     case function_lint_to_byte :
  2215     case function_lint_to_byte :
  2216     {
  2216     {
  2217         symbol_c *last_type_symbol = NULL;
  2217         symbol_c *last_type_symbol = NULL;
  2218 
  2218 
  2219         {
  2219         {
  2220             identifier_c IN_param_name("IN");
  2220             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2221             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2221             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2222             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2222             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2223             symbol_c *IN_type_symbol = NULL;
  2223             symbol_c *IN_type_symbol = NULL;
  2224             
  2224             
  2225             /* Get the value from a foo(<param_value>) style call */
  2225             /* Get the value from a foo(<param_value>) style call */
  2226             if (IN_param_value == NULL)
  2226             if (IN_param_value == NULL)
  2227               IN_param_value = function_call_param_iterator.next_nf();
  2227               IN_param_value = function_call_param_iterator.next_nf();
  2235         
  2235         
  2236                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2236                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2237                 
  2237                 
  2238                 if (IN_type_symbol == NULL)
  2238                 if (IN_type_symbol == NULL)
  2239                   IN_type_symbol = last_type_symbol;
  2239                   IN_type_symbol = last_type_symbol;
  2240                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2240                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2241                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  2241                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  2242                 function_type_prefix = return_type_symbol;
  2242                 function_type_prefix = return_type_symbol;
  2243                 function_type_suffix = IN_type_symbol;
  2243                 function_type_suffix = IN_type_symbol;
  2244                 break;
  2244                 break;
  2245                 
  2245                 
  2258     case function_lint_to_usint :
  2258     case function_lint_to_usint :
  2259     {
  2259     {
  2260         symbol_c *last_type_symbol = NULL;
  2260         symbol_c *last_type_symbol = NULL;
  2261 
  2261 
  2262         {
  2262         {
  2263             identifier_c IN_param_name("IN");
  2263             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2264             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2264             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2265             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2265             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2266             symbol_c *IN_type_symbol = NULL;
  2266             symbol_c *IN_type_symbol = NULL;
  2267             
  2267             
  2268             /* Get the value from a foo(<param_value>) style call */
  2268             /* Get the value from a foo(<param_value>) style call */
  2269             if (IN_param_value == NULL)
  2269             if (IN_param_value == NULL)
  2270               IN_param_value = function_call_param_iterator.next_nf();
  2270               IN_param_value = function_call_param_iterator.next_nf();
  2278         
  2278         
  2279                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2279                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2280                 
  2280                 
  2281                 if (IN_type_symbol == NULL)
  2281                 if (IN_type_symbol == NULL)
  2282                   IN_type_symbol = last_type_symbol;
  2282                   IN_type_symbol = last_type_symbol;
  2283                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2283                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2284                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  2284                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  2285                 function_type_prefix = return_type_symbol;
  2285                 function_type_prefix = return_type_symbol;
  2286                 function_type_suffix = IN_type_symbol;
  2286                 function_type_suffix = IN_type_symbol;
  2287                 break;
  2287                 break;
  2288                 
  2288                 
  2301     case function_lint_to_ulint :
  2301     case function_lint_to_ulint :
  2302     {
  2302     {
  2303         symbol_c *last_type_symbol = NULL;
  2303         symbol_c *last_type_symbol = NULL;
  2304 
  2304 
  2305         {
  2305         {
  2306             identifier_c IN_param_name("IN");
  2306             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2307             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2307             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2308             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2308             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2309             symbol_c *IN_type_symbol = NULL;
  2309             symbol_c *IN_type_symbol = NULL;
  2310             
  2310             
  2311             /* Get the value from a foo(<param_value>) style call */
  2311             /* Get the value from a foo(<param_value>) style call */
  2312             if (IN_param_value == NULL)
  2312             if (IN_param_value == NULL)
  2313               IN_param_value = function_call_param_iterator.next_nf();
  2313               IN_param_value = function_call_param_iterator.next_nf();
  2321         
  2321         
  2322                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2322                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2323                 
  2323                 
  2324                 if (IN_type_symbol == NULL)
  2324                 if (IN_type_symbol == NULL)
  2325                   IN_type_symbol = last_type_symbol;
  2325                   IN_type_symbol = last_type_symbol;
  2326                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2326                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2327                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  2327                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  2328                 function_type_prefix = return_type_symbol;
  2328                 function_type_prefix = return_type_symbol;
  2329                 function_type_suffix = IN_type_symbol;
  2329                 function_type_suffix = IN_type_symbol;
  2330                 break;
  2330                 break;
  2331                 
  2331                 
  2344     case function_lint_to_bool :
  2344     case function_lint_to_bool :
  2345     {
  2345     {
  2346         symbol_c *last_type_symbol = NULL;
  2346         symbol_c *last_type_symbol = NULL;
  2347 
  2347 
  2348         {
  2348         {
  2349             identifier_c IN_param_name("IN");
  2349             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2350             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2350             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2351             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2351             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2352             symbol_c *IN_type_symbol = NULL;
  2352             symbol_c *IN_type_symbol = NULL;
  2353             
  2353             
  2354             /* Get the value from a foo(<param_value>) style call */
  2354             /* Get the value from a foo(<param_value>) style call */
  2355             if (IN_param_value == NULL)
  2355             if (IN_param_value == NULL)
  2356               IN_param_value = function_call_param_iterator.next_nf();
  2356               IN_param_value = function_call_param_iterator.next_nf();
  2364         
  2364         
  2365                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2365                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2366                 
  2366                 
  2367                 if (IN_type_symbol == NULL)
  2367                 if (IN_type_symbol == NULL)
  2368                   IN_type_symbol = last_type_symbol;
  2368                   IN_type_symbol = last_type_symbol;
  2369                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2369                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2370                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  2370                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  2371                 function_type_prefix = return_type_symbol;
  2371                 function_type_prefix = return_type_symbol;
  2372                 function_type_suffix = IN_type_symbol;
  2372                 function_type_suffix = IN_type_symbol;
  2373                 break;
  2373                 break;
  2374                 
  2374                 
  2387     case function_lint_to_time :
  2387     case function_lint_to_time :
  2388     {
  2388     {
  2389         symbol_c *last_type_symbol = NULL;
  2389         symbol_c *last_type_symbol = NULL;
  2390 
  2390 
  2391         {
  2391         {
  2392             identifier_c IN_param_name("IN");
  2392             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2393             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2393             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2394             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2394             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2395             symbol_c *IN_type_symbol = NULL;
  2395             symbol_c *IN_type_symbol = NULL;
  2396             
  2396             
  2397             /* Get the value from a foo(<param_value>) style call */
  2397             /* Get the value from a foo(<param_value>) style call */
  2398             if (IN_param_value == NULL)
  2398             if (IN_param_value == NULL)
  2399               IN_param_value = function_call_param_iterator.next_nf();
  2399               IN_param_value = function_call_param_iterator.next_nf();
  2407         
  2407         
  2408                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  2408                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  2409                 
  2409                 
  2410                 if (IN_type_symbol == NULL)
  2410                 if (IN_type_symbol == NULL)
  2411                   IN_type_symbol = last_type_symbol;
  2411                   IN_type_symbol = last_type_symbol;
  2412                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2412                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2413                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  2413                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  2414                 function_type_prefix = return_type_symbol;
  2414                 function_type_prefix = return_type_symbol;
  2415                 break;
  2415                 break;
  2416                 
  2416                 
  2417             }
  2417             }
  2429     case function_lint_to_int :
  2429     case function_lint_to_int :
  2430     {
  2430     {
  2431         symbol_c *last_type_symbol = NULL;
  2431         symbol_c *last_type_symbol = NULL;
  2432 
  2432 
  2433         {
  2433         {
  2434             identifier_c IN_param_name("IN");
  2434             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2435             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2435             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2436             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2436             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2437             symbol_c *IN_type_symbol = NULL;
  2437             symbol_c *IN_type_symbol = NULL;
  2438             
  2438             
  2439             /* Get the value from a foo(<param_value>) style call */
  2439             /* Get the value from a foo(<param_value>) style call */
  2440             if (IN_param_value == NULL)
  2440             if (IN_param_value == NULL)
  2441               IN_param_value = function_call_param_iterator.next_nf();
  2441               IN_param_value = function_call_param_iterator.next_nf();
  2449         
  2449         
  2450                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2450                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2451                 
  2451                 
  2452                 if (IN_type_symbol == NULL)
  2452                 if (IN_type_symbol == NULL)
  2453                   IN_type_symbol = last_type_symbol;
  2453                   IN_type_symbol = last_type_symbol;
  2454                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2454                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2455                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  2455                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  2456                 function_type_prefix = return_type_symbol;
  2456                 function_type_prefix = return_type_symbol;
  2457                 function_type_suffix = IN_type_symbol;
  2457                 function_type_suffix = IN_type_symbol;
  2458                 break;
  2458                 break;
  2459                 
  2459                 
  2472     case function_dint_to_real :
  2472     case function_dint_to_real :
  2473     {
  2473     {
  2474         symbol_c *last_type_symbol = NULL;
  2474         symbol_c *last_type_symbol = NULL;
  2475 
  2475 
  2476         {
  2476         {
  2477             identifier_c IN_param_name("IN");
  2477             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2478             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2478             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2479             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2479             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2480             symbol_c *IN_type_symbol = NULL;
  2480             symbol_c *IN_type_symbol = NULL;
  2481             
  2481             
  2482             /* Get the value from a foo(<param_value>) style call */
  2482             /* Get the value from a foo(<param_value>) style call */
  2483             if (IN_param_value == NULL)
  2483             if (IN_param_value == NULL)
  2484               IN_param_value = function_call_param_iterator.next_nf();
  2484               IN_param_value = function_call_param_iterator.next_nf();
  2492         
  2492         
  2493                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2493                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2494                 
  2494                 
  2495                 if (IN_type_symbol == NULL)
  2495                 if (IN_type_symbol == NULL)
  2496                   IN_type_symbol = last_type_symbol;
  2496                   IN_type_symbol = last_type_symbol;
  2497                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2497                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2498                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  2498                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  2499                 function_type_prefix = return_type_symbol;
  2499                 function_type_prefix = return_type_symbol;
  2500                 function_type_suffix = IN_type_symbol;
  2500                 function_type_suffix = IN_type_symbol;
  2501                 break;
  2501                 break;
  2502                 
  2502                 
  2515     case function_dint_to_sint :
  2515     case function_dint_to_sint :
  2516     {
  2516     {
  2517         symbol_c *last_type_symbol = NULL;
  2517         symbol_c *last_type_symbol = NULL;
  2518 
  2518 
  2519         {
  2519         {
  2520             identifier_c IN_param_name("IN");
  2520             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2521             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2521             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2522             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2522             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2523             symbol_c *IN_type_symbol = NULL;
  2523             symbol_c *IN_type_symbol = NULL;
  2524             
  2524             
  2525             /* Get the value from a foo(<param_value>) style call */
  2525             /* Get the value from a foo(<param_value>) style call */
  2526             if (IN_param_value == NULL)
  2526             if (IN_param_value == NULL)
  2527               IN_param_value = function_call_param_iterator.next_nf();
  2527               IN_param_value = function_call_param_iterator.next_nf();
  2535         
  2535         
  2536                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2536                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2537                 
  2537                 
  2538                 if (IN_type_symbol == NULL)
  2538                 if (IN_type_symbol == NULL)
  2539                   IN_type_symbol = last_type_symbol;
  2539                   IN_type_symbol = last_type_symbol;
  2540                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2540                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2541                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  2541                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  2542                 function_type_prefix = return_type_symbol;
  2542                 function_type_prefix = return_type_symbol;
  2543                 function_type_suffix = IN_type_symbol;
  2543                 function_type_suffix = IN_type_symbol;
  2544                 break;
  2544                 break;
  2545                 
  2545                 
  2558     case function_dint_to_lint :
  2558     case function_dint_to_lint :
  2559     {
  2559     {
  2560         symbol_c *last_type_symbol = NULL;
  2560         symbol_c *last_type_symbol = NULL;
  2561 
  2561 
  2562         {
  2562         {
  2563             identifier_c IN_param_name("IN");
  2563             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2564             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2564             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2565             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2565             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2566             symbol_c *IN_type_symbol = NULL;
  2566             symbol_c *IN_type_symbol = NULL;
  2567             
  2567             
  2568             /* Get the value from a foo(<param_value>) style call */
  2568             /* Get the value from a foo(<param_value>) style call */
  2569             if (IN_param_value == NULL)
  2569             if (IN_param_value == NULL)
  2570               IN_param_value = function_call_param_iterator.next_nf();
  2570               IN_param_value = function_call_param_iterator.next_nf();
  2578         
  2578         
  2579                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2579                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2580                 
  2580                 
  2581                 if (IN_type_symbol == NULL)
  2581                 if (IN_type_symbol == NULL)
  2582                   IN_type_symbol = last_type_symbol;
  2582                   IN_type_symbol = last_type_symbol;
  2583                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2583                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2584                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  2584                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  2585                 function_type_prefix = return_type_symbol;
  2585                 function_type_prefix = return_type_symbol;
  2586                 function_type_suffix = IN_type_symbol;
  2586                 function_type_suffix = IN_type_symbol;
  2587                 break;
  2587                 break;
  2588                 
  2588                 
  2601     case function_dint_to_date :
  2601     case function_dint_to_date :
  2602     {
  2602     {
  2603         symbol_c *last_type_symbol = NULL;
  2603         symbol_c *last_type_symbol = NULL;
  2604 
  2604 
  2605         {
  2605         {
  2606             identifier_c IN_param_name("IN");
  2606             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2607             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2607             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2608             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2608             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2609             symbol_c *IN_type_symbol = NULL;
  2609             symbol_c *IN_type_symbol = NULL;
  2610             
  2610             
  2611             /* Get the value from a foo(<param_value>) style call */
  2611             /* Get the value from a foo(<param_value>) style call */
  2612             if (IN_param_value == NULL)
  2612             if (IN_param_value == NULL)
  2613               IN_param_value = function_call_param_iterator.next_nf();
  2613               IN_param_value = function_call_param_iterator.next_nf();
  2621         
  2621         
  2622                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  2622                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  2623                 
  2623                 
  2624                 if (IN_type_symbol == NULL)
  2624                 if (IN_type_symbol == NULL)
  2625                   IN_type_symbol = last_type_symbol;
  2625                   IN_type_symbol = last_type_symbol;
  2626                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2626                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2627                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  2627                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  2628                 function_type_prefix = return_type_symbol;
  2628                 function_type_prefix = return_type_symbol;
  2629                 break;
  2629                 break;
  2630                 
  2630                 
  2631             }
  2631             }
  2643     case function_dint_to_dword :
  2643     case function_dint_to_dword :
  2644     {
  2644     {
  2645         symbol_c *last_type_symbol = NULL;
  2645         symbol_c *last_type_symbol = NULL;
  2646 
  2646 
  2647         {
  2647         {
  2648             identifier_c IN_param_name("IN");
  2648             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2649             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2649             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2650             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2650             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2651             symbol_c *IN_type_symbol = NULL;
  2651             symbol_c *IN_type_symbol = NULL;
  2652             
  2652             
  2653             /* Get the value from a foo(<param_value>) style call */
  2653             /* Get the value from a foo(<param_value>) style call */
  2654             if (IN_param_value == NULL)
  2654             if (IN_param_value == NULL)
  2655               IN_param_value = function_call_param_iterator.next_nf();
  2655               IN_param_value = function_call_param_iterator.next_nf();
  2663         
  2663         
  2664                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2664                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2665                 
  2665                 
  2666                 if (IN_type_symbol == NULL)
  2666                 if (IN_type_symbol == NULL)
  2667                   IN_type_symbol = last_type_symbol;
  2667                   IN_type_symbol = last_type_symbol;
  2668                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2668                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2669                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  2669                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  2670                 function_type_prefix = return_type_symbol;
  2670                 function_type_prefix = return_type_symbol;
  2671                 function_type_suffix = IN_type_symbol;
  2671                 function_type_suffix = IN_type_symbol;
  2672                 break;
  2672                 break;
  2673                 
  2673                 
  2686     case function_dint_to_dt :
  2686     case function_dint_to_dt :
  2687     {
  2687     {
  2688         symbol_c *last_type_symbol = NULL;
  2688         symbol_c *last_type_symbol = NULL;
  2689 
  2689 
  2690         {
  2690         {
  2691             identifier_c IN_param_name("IN");
  2691             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2692             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2692             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2693             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2693             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2694             symbol_c *IN_type_symbol = NULL;
  2694             symbol_c *IN_type_symbol = NULL;
  2695             
  2695             
  2696             /* Get the value from a foo(<param_value>) style call */
  2696             /* Get the value from a foo(<param_value>) style call */
  2697             if (IN_param_value == NULL)
  2697             if (IN_param_value == NULL)
  2698               IN_param_value = function_call_param_iterator.next_nf();
  2698               IN_param_value = function_call_param_iterator.next_nf();
  2706         
  2706         
  2707                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  2707                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  2708                 
  2708                 
  2709                 if (IN_type_symbol == NULL)
  2709                 if (IN_type_symbol == NULL)
  2710                   IN_type_symbol = last_type_symbol;
  2710                   IN_type_symbol = last_type_symbol;
  2711                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2711                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2712                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  2712                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  2713                 function_type_prefix = return_type_symbol;
  2713                 function_type_prefix = return_type_symbol;
  2714                 break;
  2714                 break;
  2715                 
  2715                 
  2716             }
  2716             }
  2728     case function_dint_to_tod :
  2728     case function_dint_to_tod :
  2729     {
  2729     {
  2730         symbol_c *last_type_symbol = NULL;
  2730         symbol_c *last_type_symbol = NULL;
  2731 
  2731 
  2732         {
  2732         {
  2733             identifier_c IN_param_name("IN");
  2733             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2734             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2734             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2735             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2735             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2736             symbol_c *IN_type_symbol = NULL;
  2736             symbol_c *IN_type_symbol = NULL;
  2737             
  2737             
  2738             /* Get the value from a foo(<param_value>) style call */
  2738             /* Get the value from a foo(<param_value>) style call */
  2739             if (IN_param_value == NULL)
  2739             if (IN_param_value == NULL)
  2740               IN_param_value = function_call_param_iterator.next_nf();
  2740               IN_param_value = function_call_param_iterator.next_nf();
  2748         
  2748         
  2749                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  2749                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  2750                 
  2750                 
  2751                 if (IN_type_symbol == NULL)
  2751                 if (IN_type_symbol == NULL)
  2752                   IN_type_symbol = last_type_symbol;
  2752                   IN_type_symbol = last_type_symbol;
  2753                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2753                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2754                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  2754                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  2755                 function_type_prefix = return_type_symbol;
  2755                 function_type_prefix = return_type_symbol;
  2756                 break;
  2756                 break;
  2757                 
  2757                 
  2758             }
  2758             }
  2770     case function_dint_to_udint :
  2770     case function_dint_to_udint :
  2771     {
  2771     {
  2772         symbol_c *last_type_symbol = NULL;
  2772         symbol_c *last_type_symbol = NULL;
  2773 
  2773 
  2774         {
  2774         {
  2775             identifier_c IN_param_name("IN");
  2775             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2776             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2776             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2777             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2777             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2778             symbol_c *IN_type_symbol = NULL;
  2778             symbol_c *IN_type_symbol = NULL;
  2779             
  2779             
  2780             /* Get the value from a foo(<param_value>) style call */
  2780             /* Get the value from a foo(<param_value>) style call */
  2781             if (IN_param_value == NULL)
  2781             if (IN_param_value == NULL)
  2782               IN_param_value = function_call_param_iterator.next_nf();
  2782               IN_param_value = function_call_param_iterator.next_nf();
  2790         
  2790         
  2791                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2791                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2792                 
  2792                 
  2793                 if (IN_type_symbol == NULL)
  2793                 if (IN_type_symbol == NULL)
  2794                   IN_type_symbol = last_type_symbol;
  2794                   IN_type_symbol = last_type_symbol;
  2795                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2795                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2796                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  2796                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  2797                 function_type_prefix = return_type_symbol;
  2797                 function_type_prefix = return_type_symbol;
  2798                 function_type_suffix = IN_type_symbol;
  2798                 function_type_suffix = IN_type_symbol;
  2799                 break;
  2799                 break;
  2800                 
  2800                 
  2813     case function_dint_to_word :
  2813     case function_dint_to_word :
  2814     {
  2814     {
  2815         symbol_c *last_type_symbol = NULL;
  2815         symbol_c *last_type_symbol = NULL;
  2816 
  2816 
  2817         {
  2817         {
  2818             identifier_c IN_param_name("IN");
  2818             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2819             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2819             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2820             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2820             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2821             symbol_c *IN_type_symbol = NULL;
  2821             symbol_c *IN_type_symbol = NULL;
  2822             
  2822             
  2823             /* Get the value from a foo(<param_value>) style call */
  2823             /* Get the value from a foo(<param_value>) style call */
  2824             if (IN_param_value == NULL)
  2824             if (IN_param_value == NULL)
  2825               IN_param_value = function_call_param_iterator.next_nf();
  2825               IN_param_value = function_call_param_iterator.next_nf();
  2833         
  2833         
  2834                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2834                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2835                 
  2835                 
  2836                 if (IN_type_symbol == NULL)
  2836                 if (IN_type_symbol == NULL)
  2837                   IN_type_symbol = last_type_symbol;
  2837                   IN_type_symbol = last_type_symbol;
  2838                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2838                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2839                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  2839                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  2840                 function_type_prefix = return_type_symbol;
  2840                 function_type_prefix = return_type_symbol;
  2841                 function_type_suffix = IN_type_symbol;
  2841                 function_type_suffix = IN_type_symbol;
  2842                 break;
  2842                 break;
  2843                 
  2843                 
  2856     case function_dint_to_string :
  2856     case function_dint_to_string :
  2857     {
  2857     {
  2858         symbol_c *last_type_symbol = NULL;
  2858         symbol_c *last_type_symbol = NULL;
  2859 
  2859 
  2860         {
  2860         {
  2861             identifier_c IN_param_name("IN");
  2861             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2862             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2862             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2863             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2863             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2864             symbol_c *IN_type_symbol = NULL;
  2864             symbol_c *IN_type_symbol = NULL;
  2865             
  2865             
  2866             /* Get the value from a foo(<param_value>) style call */
  2866             /* Get the value from a foo(<param_value>) style call */
  2867             if (IN_param_value == NULL)
  2867             if (IN_param_value == NULL)
  2868               IN_param_value = function_call_param_iterator.next_nf();
  2868               IN_param_value = function_call_param_iterator.next_nf();
  2876         
  2876         
  2877                 function_name = (symbol_c*)(new pragma_c("__sint_to_string"));
  2877                 function_name = (symbol_c*)(new pragma_c("__sint_to_string"));
  2878                 
  2878                 
  2879                 if (IN_type_symbol == NULL)
  2879                 if (IN_type_symbol == NULL)
  2880                   IN_type_symbol = last_type_symbol;
  2880                   IN_type_symbol = last_type_symbol;
  2881                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2881                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2882                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  2882                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  2883                 function_type_prefix = return_type_symbol;
  2883                 function_type_prefix = return_type_symbol;
  2884                 break;
  2884                 break;
  2885                 
  2885                 
  2886             }
  2886             }
  2898     case function_dint_to_lword :
  2898     case function_dint_to_lword :
  2899     {
  2899     {
  2900         symbol_c *last_type_symbol = NULL;
  2900         symbol_c *last_type_symbol = NULL;
  2901 
  2901 
  2902         {
  2902         {
  2903             identifier_c IN_param_name("IN");
  2903             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2904             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2904             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2905             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2905             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2906             symbol_c *IN_type_symbol = NULL;
  2906             symbol_c *IN_type_symbol = NULL;
  2907             
  2907             
  2908             /* Get the value from a foo(<param_value>) style call */
  2908             /* Get the value from a foo(<param_value>) style call */
  2909             if (IN_param_value == NULL)
  2909             if (IN_param_value == NULL)
  2910               IN_param_value = function_call_param_iterator.next_nf();
  2910               IN_param_value = function_call_param_iterator.next_nf();
  2918         
  2918         
  2919                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2919                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2920                 
  2920                 
  2921                 if (IN_type_symbol == NULL)
  2921                 if (IN_type_symbol == NULL)
  2922                   IN_type_symbol = last_type_symbol;
  2922                   IN_type_symbol = last_type_symbol;
  2923                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2923                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2924                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  2924                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  2925                 function_type_prefix = return_type_symbol;
  2925                 function_type_prefix = return_type_symbol;
  2926                 function_type_suffix = IN_type_symbol;
  2926                 function_type_suffix = IN_type_symbol;
  2927                 break;
  2927                 break;
  2928                 
  2928                 
  2941     case function_dint_to_uint :
  2941     case function_dint_to_uint :
  2942     {
  2942     {
  2943         symbol_c *last_type_symbol = NULL;
  2943         symbol_c *last_type_symbol = NULL;
  2944 
  2944 
  2945         {
  2945         {
  2946             identifier_c IN_param_name("IN");
  2946             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2947             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2947             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2948             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2948             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2949             symbol_c *IN_type_symbol = NULL;
  2949             symbol_c *IN_type_symbol = NULL;
  2950             
  2950             
  2951             /* Get the value from a foo(<param_value>) style call */
  2951             /* Get the value from a foo(<param_value>) style call */
  2952             if (IN_param_value == NULL)
  2952             if (IN_param_value == NULL)
  2953               IN_param_value = function_call_param_iterator.next_nf();
  2953               IN_param_value = function_call_param_iterator.next_nf();
  2961         
  2961         
  2962                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2962                 function_name = (symbol_c*)(new pragma_c("__move_"));
  2963                 
  2963                 
  2964                 if (IN_type_symbol == NULL)
  2964                 if (IN_type_symbol == NULL)
  2965                   IN_type_symbol = last_type_symbol;
  2965                   IN_type_symbol = last_type_symbol;
  2966                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2966                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  2967                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  2967                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  2968                 function_type_prefix = return_type_symbol;
  2968                 function_type_prefix = return_type_symbol;
  2969                 function_type_suffix = IN_type_symbol;
  2969                 function_type_suffix = IN_type_symbol;
  2970                 break;
  2970                 break;
  2971                 
  2971                 
  2984     case function_dint_to_lreal :
  2984     case function_dint_to_lreal :
  2985     {
  2985     {
  2986         symbol_c *last_type_symbol = NULL;
  2986         symbol_c *last_type_symbol = NULL;
  2987 
  2987 
  2988         {
  2988         {
  2989             identifier_c IN_param_name("IN");
  2989             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  2990             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2990             /* Get the value from a foo(<param_name> = <param_value>) style call */
  2991             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  2991             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  2992             symbol_c *IN_type_symbol = NULL;
  2992             symbol_c *IN_type_symbol = NULL;
  2993             
  2993             
  2994             /* Get the value from a foo(<param_value>) style call */
  2994             /* Get the value from a foo(<param_value>) style call */
  2995             if (IN_param_value == NULL)
  2995             if (IN_param_value == NULL)
  2996               IN_param_value = function_call_param_iterator.next_nf();
  2996               IN_param_value = function_call_param_iterator.next_nf();
  3004         
  3004         
  3005                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3005                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3006                 
  3006                 
  3007                 if (IN_type_symbol == NULL)
  3007                 if (IN_type_symbol == NULL)
  3008                   IN_type_symbol = last_type_symbol;
  3008                   IN_type_symbol = last_type_symbol;
  3009                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3009                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3010                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  3010                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  3011                 function_type_prefix = return_type_symbol;
  3011                 function_type_prefix = return_type_symbol;
  3012                 function_type_suffix = IN_type_symbol;
  3012                 function_type_suffix = IN_type_symbol;
  3013                 break;
  3013                 break;
  3014                 
  3014                 
  3027     case function_dint_to_byte :
  3027     case function_dint_to_byte :
  3028     {
  3028     {
  3029         symbol_c *last_type_symbol = NULL;
  3029         symbol_c *last_type_symbol = NULL;
  3030 
  3030 
  3031         {
  3031         {
  3032             identifier_c IN_param_name("IN");
  3032             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3033             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3033             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3034             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3034             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3035             symbol_c *IN_type_symbol = NULL;
  3035             symbol_c *IN_type_symbol = NULL;
  3036             
  3036             
  3037             /* Get the value from a foo(<param_value>) style call */
  3037             /* Get the value from a foo(<param_value>) style call */
  3038             if (IN_param_value == NULL)
  3038             if (IN_param_value == NULL)
  3039               IN_param_value = function_call_param_iterator.next_nf();
  3039               IN_param_value = function_call_param_iterator.next_nf();
  3047         
  3047         
  3048                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3048                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3049                 
  3049                 
  3050                 if (IN_type_symbol == NULL)
  3050                 if (IN_type_symbol == NULL)
  3051                   IN_type_symbol = last_type_symbol;
  3051                   IN_type_symbol = last_type_symbol;
  3052                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3052                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3053                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  3053                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  3054                 function_type_prefix = return_type_symbol;
  3054                 function_type_prefix = return_type_symbol;
  3055                 function_type_suffix = IN_type_symbol;
  3055                 function_type_suffix = IN_type_symbol;
  3056                 break;
  3056                 break;
  3057                 
  3057                 
  3070     case function_dint_to_usint :
  3070     case function_dint_to_usint :
  3071     {
  3071     {
  3072         symbol_c *last_type_symbol = NULL;
  3072         symbol_c *last_type_symbol = NULL;
  3073 
  3073 
  3074         {
  3074         {
  3075             identifier_c IN_param_name("IN");
  3075             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3076             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3076             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3077             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3077             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3078             symbol_c *IN_type_symbol = NULL;
  3078             symbol_c *IN_type_symbol = NULL;
  3079             
  3079             
  3080             /* Get the value from a foo(<param_value>) style call */
  3080             /* Get the value from a foo(<param_value>) style call */
  3081             if (IN_param_value == NULL)
  3081             if (IN_param_value == NULL)
  3082               IN_param_value = function_call_param_iterator.next_nf();
  3082               IN_param_value = function_call_param_iterator.next_nf();
  3090         
  3090         
  3091                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3091                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3092                 
  3092                 
  3093                 if (IN_type_symbol == NULL)
  3093                 if (IN_type_symbol == NULL)
  3094                   IN_type_symbol = last_type_symbol;
  3094                   IN_type_symbol = last_type_symbol;
  3095                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3095                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3096                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  3096                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  3097                 function_type_prefix = return_type_symbol;
  3097                 function_type_prefix = return_type_symbol;
  3098                 function_type_suffix = IN_type_symbol;
  3098                 function_type_suffix = IN_type_symbol;
  3099                 break;
  3099                 break;
  3100                 
  3100                 
  3113     case function_dint_to_ulint :
  3113     case function_dint_to_ulint :
  3114     {
  3114     {
  3115         symbol_c *last_type_symbol = NULL;
  3115         symbol_c *last_type_symbol = NULL;
  3116 
  3116 
  3117         {
  3117         {
  3118             identifier_c IN_param_name("IN");
  3118             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3119             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3119             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3120             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3120             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3121             symbol_c *IN_type_symbol = NULL;
  3121             symbol_c *IN_type_symbol = NULL;
  3122             
  3122             
  3123             /* Get the value from a foo(<param_value>) style call */
  3123             /* Get the value from a foo(<param_value>) style call */
  3124             if (IN_param_value == NULL)
  3124             if (IN_param_value == NULL)
  3125               IN_param_value = function_call_param_iterator.next_nf();
  3125               IN_param_value = function_call_param_iterator.next_nf();
  3133         
  3133         
  3134                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3134                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3135                 
  3135                 
  3136                 if (IN_type_symbol == NULL)
  3136                 if (IN_type_symbol == NULL)
  3137                   IN_type_symbol = last_type_symbol;
  3137                   IN_type_symbol = last_type_symbol;
  3138                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3138                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3139                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  3139                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  3140                 function_type_prefix = return_type_symbol;
  3140                 function_type_prefix = return_type_symbol;
  3141                 function_type_suffix = IN_type_symbol;
  3141                 function_type_suffix = IN_type_symbol;
  3142                 break;
  3142                 break;
  3143                 
  3143                 
  3156     case function_dint_to_bool :
  3156     case function_dint_to_bool :
  3157     {
  3157     {
  3158         symbol_c *last_type_symbol = NULL;
  3158         symbol_c *last_type_symbol = NULL;
  3159 
  3159 
  3160         {
  3160         {
  3161             identifier_c IN_param_name("IN");
  3161             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3162             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3162             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3163             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3163             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3164             symbol_c *IN_type_symbol = NULL;
  3164             symbol_c *IN_type_symbol = NULL;
  3165             
  3165             
  3166             /* Get the value from a foo(<param_value>) style call */
  3166             /* Get the value from a foo(<param_value>) style call */
  3167             if (IN_param_value == NULL)
  3167             if (IN_param_value == NULL)
  3168               IN_param_value = function_call_param_iterator.next_nf();
  3168               IN_param_value = function_call_param_iterator.next_nf();
  3176         
  3176         
  3177                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3177                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3178                 
  3178                 
  3179                 if (IN_type_symbol == NULL)
  3179                 if (IN_type_symbol == NULL)
  3180                   IN_type_symbol = last_type_symbol;
  3180                   IN_type_symbol = last_type_symbol;
  3181                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3181                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3182                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  3182                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  3183                 function_type_prefix = return_type_symbol;
  3183                 function_type_prefix = return_type_symbol;
  3184                 function_type_suffix = IN_type_symbol;
  3184                 function_type_suffix = IN_type_symbol;
  3185                 break;
  3185                 break;
  3186                 
  3186                 
  3199     case function_dint_to_time :
  3199     case function_dint_to_time :
  3200     {
  3200     {
  3201         symbol_c *last_type_symbol = NULL;
  3201         symbol_c *last_type_symbol = NULL;
  3202 
  3202 
  3203         {
  3203         {
  3204             identifier_c IN_param_name("IN");
  3204             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3205             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3205             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3206             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3206             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3207             symbol_c *IN_type_symbol = NULL;
  3207             symbol_c *IN_type_symbol = NULL;
  3208             
  3208             
  3209             /* Get the value from a foo(<param_value>) style call */
  3209             /* Get the value from a foo(<param_value>) style call */
  3210             if (IN_param_value == NULL)
  3210             if (IN_param_value == NULL)
  3211               IN_param_value = function_call_param_iterator.next_nf();
  3211               IN_param_value = function_call_param_iterator.next_nf();
  3219         
  3219         
  3220                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  3220                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  3221                 
  3221                 
  3222                 if (IN_type_symbol == NULL)
  3222                 if (IN_type_symbol == NULL)
  3223                   IN_type_symbol = last_type_symbol;
  3223                   IN_type_symbol = last_type_symbol;
  3224                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3224                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3225                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  3225                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  3226                 function_type_prefix = return_type_symbol;
  3226                 function_type_prefix = return_type_symbol;
  3227                 break;
  3227                 break;
  3228                 
  3228                 
  3229             }
  3229             }
  3241     case function_dint_to_int :
  3241     case function_dint_to_int :
  3242     {
  3242     {
  3243         symbol_c *last_type_symbol = NULL;
  3243         symbol_c *last_type_symbol = NULL;
  3244 
  3244 
  3245         {
  3245         {
  3246             identifier_c IN_param_name("IN");
  3246             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3247             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3247             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3248             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3248             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3249             symbol_c *IN_type_symbol = NULL;
  3249             symbol_c *IN_type_symbol = NULL;
  3250             
  3250             
  3251             /* Get the value from a foo(<param_value>) style call */
  3251             /* Get the value from a foo(<param_value>) style call */
  3252             if (IN_param_value == NULL)
  3252             if (IN_param_value == NULL)
  3253               IN_param_value = function_call_param_iterator.next_nf();
  3253               IN_param_value = function_call_param_iterator.next_nf();
  3261         
  3261         
  3262                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3262                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3263                 
  3263                 
  3264                 if (IN_type_symbol == NULL)
  3264                 if (IN_type_symbol == NULL)
  3265                   IN_type_symbol = last_type_symbol;
  3265                   IN_type_symbol = last_type_symbol;
  3266                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3266                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3267                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  3267                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  3268                 function_type_prefix = return_type_symbol;
  3268                 function_type_prefix = return_type_symbol;
  3269                 function_type_suffix = IN_type_symbol;
  3269                 function_type_suffix = IN_type_symbol;
  3270                 break;
  3270                 break;
  3271                 
  3271                 
  3284     case function_date_to_real :
  3284     case function_date_to_real :
  3285     {
  3285     {
  3286         symbol_c *last_type_symbol = NULL;
  3286         symbol_c *last_type_symbol = NULL;
  3287 
  3287 
  3288         {
  3288         {
  3289             identifier_c IN_param_name("IN");
  3289             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3290             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3290             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3291             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3291             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3292             symbol_c *IN_type_symbol = NULL;
  3292             symbol_c *IN_type_symbol = NULL;
  3293             
  3293             
  3294             /* Get the value from a foo(<param_value>) style call */
  3294             /* Get the value from a foo(<param_value>) style call */
  3295             if (IN_param_value == NULL)
  3295             if (IN_param_value == NULL)
  3296               IN_param_value = function_call_param_iterator.next_nf();
  3296               IN_param_value = function_call_param_iterator.next_nf();
  3304         
  3304         
  3305                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
  3305                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
  3306                 
  3306                 
  3307                 if (IN_type_symbol == NULL)
  3307                 if (IN_type_symbol == NULL)
  3308                   IN_type_symbol = last_type_symbol;
  3308                   IN_type_symbol = last_type_symbol;
  3309                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3309                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3310                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  3310                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  3311                 function_type_prefix = return_type_symbol;
  3311                 function_type_prefix = return_type_symbol;
  3312                 break;
  3312                 break;
  3313                 
  3313                 
  3314             }
  3314             }
  3326     case function_date_to_sint :
  3326     case function_date_to_sint :
  3327     {
  3327     {
  3328         symbol_c *last_type_symbol = NULL;
  3328         symbol_c *last_type_symbol = NULL;
  3329 
  3329 
  3330         {
  3330         {
  3331             identifier_c IN_param_name("IN");
  3331             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3332             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3332             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3333             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3333             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3334             symbol_c *IN_type_symbol = NULL;
  3334             symbol_c *IN_type_symbol = NULL;
  3335             
  3335             
  3336             /* Get the value from a foo(<param_value>) style call */
  3336             /* Get the value from a foo(<param_value>) style call */
  3337             if (IN_param_value == NULL)
  3337             if (IN_param_value == NULL)
  3338               IN_param_value = function_call_param_iterator.next_nf();
  3338               IN_param_value = function_call_param_iterator.next_nf();
  3346         
  3346         
  3347                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3347                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3348                 
  3348                 
  3349                 if (IN_type_symbol == NULL)
  3349                 if (IN_type_symbol == NULL)
  3350                   IN_type_symbol = last_type_symbol;
  3350                   IN_type_symbol = last_type_symbol;
  3351                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3351                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3352                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  3352                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  3353                 function_type_prefix = return_type_symbol;
  3353                 function_type_prefix = return_type_symbol;
  3354                 break;
  3354                 break;
  3355                 
  3355                 
  3356             }
  3356             }
  3368     case function_date_to_lint :
  3368     case function_date_to_lint :
  3369     {
  3369     {
  3370         symbol_c *last_type_symbol = NULL;
  3370         symbol_c *last_type_symbol = NULL;
  3371 
  3371 
  3372         {
  3372         {
  3373             identifier_c IN_param_name("IN");
  3373             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3374             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3374             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3375             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3375             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3376             symbol_c *IN_type_symbol = NULL;
  3376             symbol_c *IN_type_symbol = NULL;
  3377             
  3377             
  3378             /* Get the value from a foo(<param_value>) style call */
  3378             /* Get the value from a foo(<param_value>) style call */
  3379             if (IN_param_value == NULL)
  3379             if (IN_param_value == NULL)
  3380               IN_param_value = function_call_param_iterator.next_nf();
  3380               IN_param_value = function_call_param_iterator.next_nf();
  3388         
  3388         
  3389                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3389                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3390                 
  3390                 
  3391                 if (IN_type_symbol == NULL)
  3391                 if (IN_type_symbol == NULL)
  3392                   IN_type_symbol = last_type_symbol;
  3392                   IN_type_symbol = last_type_symbol;
  3393                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3393                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3394                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  3394                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  3395                 function_type_prefix = return_type_symbol;
  3395                 function_type_prefix = return_type_symbol;
  3396                 break;
  3396                 break;
  3397                 
  3397                 
  3398             }
  3398             }
  3410     case function_date_to_dint :
  3410     case function_date_to_dint :
  3411     {
  3411     {
  3412         symbol_c *last_type_symbol = NULL;
  3412         symbol_c *last_type_symbol = NULL;
  3413 
  3413 
  3414         {
  3414         {
  3415             identifier_c IN_param_name("IN");
  3415             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3416             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3416             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3417             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3417             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3418             symbol_c *IN_type_symbol = NULL;
  3418             symbol_c *IN_type_symbol = NULL;
  3419             
  3419             
  3420             /* Get the value from a foo(<param_value>) style call */
  3420             /* Get the value from a foo(<param_value>) style call */
  3421             if (IN_param_value == NULL)
  3421             if (IN_param_value == NULL)
  3422               IN_param_value = function_call_param_iterator.next_nf();
  3422               IN_param_value = function_call_param_iterator.next_nf();
  3430         
  3430         
  3431                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3431                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3432                 
  3432                 
  3433                 if (IN_type_symbol == NULL)
  3433                 if (IN_type_symbol == NULL)
  3434                   IN_type_symbol = last_type_symbol;
  3434                   IN_type_symbol = last_type_symbol;
  3435                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3435                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3436                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  3436                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  3437                 function_type_prefix = return_type_symbol;
  3437                 function_type_prefix = return_type_symbol;
  3438                 break;
  3438                 break;
  3439                 
  3439                 
  3440             }
  3440             }
  3452     case function_date_to_dword :
  3452     case function_date_to_dword :
  3453     {
  3453     {
  3454         symbol_c *last_type_symbol = NULL;
  3454         symbol_c *last_type_symbol = NULL;
  3455 
  3455 
  3456         {
  3456         {
  3457             identifier_c IN_param_name("IN");
  3457             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3458             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3458             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3459             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3459             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3460             symbol_c *IN_type_symbol = NULL;
  3460             symbol_c *IN_type_symbol = NULL;
  3461             
  3461             
  3462             /* Get the value from a foo(<param_value>) style call */
  3462             /* Get the value from a foo(<param_value>) style call */
  3463             if (IN_param_value == NULL)
  3463             if (IN_param_value == NULL)
  3464               IN_param_value = function_call_param_iterator.next_nf();
  3464               IN_param_value = function_call_param_iterator.next_nf();
  3472         
  3472         
  3473                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3473                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3474                 
  3474                 
  3475                 if (IN_type_symbol == NULL)
  3475                 if (IN_type_symbol == NULL)
  3476                   IN_type_symbol = last_type_symbol;
  3476                   IN_type_symbol = last_type_symbol;
  3477                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3477                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3478                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  3478                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  3479                 function_type_prefix = return_type_symbol;
  3479                 function_type_prefix = return_type_symbol;
  3480                 break;
  3480                 break;
  3481                 
  3481                 
  3482             }
  3482             }
  3494     case function_date_to_udint :
  3494     case function_date_to_udint :
  3495     {
  3495     {
  3496         symbol_c *last_type_symbol = NULL;
  3496         symbol_c *last_type_symbol = NULL;
  3497 
  3497 
  3498         {
  3498         {
  3499             identifier_c IN_param_name("IN");
  3499             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3500             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3500             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3501             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3501             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3502             symbol_c *IN_type_symbol = NULL;
  3502             symbol_c *IN_type_symbol = NULL;
  3503             
  3503             
  3504             /* Get the value from a foo(<param_value>) style call */
  3504             /* Get the value from a foo(<param_value>) style call */
  3505             if (IN_param_value == NULL)
  3505             if (IN_param_value == NULL)
  3506               IN_param_value = function_call_param_iterator.next_nf();
  3506               IN_param_value = function_call_param_iterator.next_nf();
  3514         
  3514         
  3515                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3515                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3516                 
  3516                 
  3517                 if (IN_type_symbol == NULL)
  3517                 if (IN_type_symbol == NULL)
  3518                   IN_type_symbol = last_type_symbol;
  3518                   IN_type_symbol = last_type_symbol;
  3519                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3519                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3520                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  3520                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  3521                 function_type_prefix = return_type_symbol;
  3521                 function_type_prefix = return_type_symbol;
  3522                 break;
  3522                 break;
  3523                 
  3523                 
  3524             }
  3524             }
  3536     case function_date_to_word :
  3536     case function_date_to_word :
  3537     {
  3537     {
  3538         symbol_c *last_type_symbol = NULL;
  3538         symbol_c *last_type_symbol = NULL;
  3539 
  3539 
  3540         {
  3540         {
  3541             identifier_c IN_param_name("IN");
  3541             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3542             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3542             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3543             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3543             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3544             symbol_c *IN_type_symbol = NULL;
  3544             symbol_c *IN_type_symbol = NULL;
  3545             
  3545             
  3546             /* Get the value from a foo(<param_value>) style call */
  3546             /* Get the value from a foo(<param_value>) style call */
  3547             if (IN_param_value == NULL)
  3547             if (IN_param_value == NULL)
  3548               IN_param_value = function_call_param_iterator.next_nf();
  3548               IN_param_value = function_call_param_iterator.next_nf();
  3556         
  3556         
  3557                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3557                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3558                 
  3558                 
  3559                 if (IN_type_symbol == NULL)
  3559                 if (IN_type_symbol == NULL)
  3560                   IN_type_symbol = last_type_symbol;
  3560                   IN_type_symbol = last_type_symbol;
  3561                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3561                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3562                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  3562                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  3563                 function_type_prefix = return_type_symbol;
  3563                 function_type_prefix = return_type_symbol;
  3564                 break;
  3564                 break;
  3565                 
  3565                 
  3566             }
  3566             }
  3578     case function_date_to_string :
  3578     case function_date_to_string :
  3579     {
  3579     {
  3580         symbol_c *last_type_symbol = NULL;
  3580         symbol_c *last_type_symbol = NULL;
  3581 
  3581 
  3582         {
  3582         {
  3583             identifier_c IN_param_name("IN");
  3583             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3584             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3584             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3585             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3585             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3586             symbol_c *IN_type_symbol = NULL;
  3586             symbol_c *IN_type_symbol = NULL;
  3587             
  3587             
  3588             /* Get the value from a foo(<param_value>) style call */
  3588             /* Get the value from a foo(<param_value>) style call */
  3589             if (IN_param_value == NULL)
  3589             if (IN_param_value == NULL)
  3590               IN_param_value = function_call_param_iterator.next_nf();
  3590               IN_param_value = function_call_param_iterator.next_nf();
  3598         
  3598         
  3599                 function_name = (symbol_c*)(new pragma_c("__date_to_string"));
  3599                 function_name = (symbol_c*)(new pragma_c("__date_to_string"));
  3600                 
  3600                 
  3601                 if (IN_type_symbol == NULL)
  3601                 if (IN_type_symbol == NULL)
  3602                   IN_type_symbol = last_type_symbol;
  3602                   IN_type_symbol = last_type_symbol;
  3603                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3603                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3604                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  3604                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  3605                 function_type_prefix = return_type_symbol;
  3605                 function_type_prefix = return_type_symbol;
  3606                 break;
  3606                 break;
  3607                 
  3607                 
  3608             }
  3608             }
  3620     case function_date_to_lword :
  3620     case function_date_to_lword :
  3621     {
  3621     {
  3622         symbol_c *last_type_symbol = NULL;
  3622         symbol_c *last_type_symbol = NULL;
  3623 
  3623 
  3624         {
  3624         {
  3625             identifier_c IN_param_name("IN");
  3625             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3626             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3626             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3627             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3627             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3628             symbol_c *IN_type_symbol = NULL;
  3628             symbol_c *IN_type_symbol = NULL;
  3629             
  3629             
  3630             /* Get the value from a foo(<param_value>) style call */
  3630             /* Get the value from a foo(<param_value>) style call */
  3631             if (IN_param_value == NULL)
  3631             if (IN_param_value == NULL)
  3632               IN_param_value = function_call_param_iterator.next_nf();
  3632               IN_param_value = function_call_param_iterator.next_nf();
  3640         
  3640         
  3641                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3641                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3642                 
  3642                 
  3643                 if (IN_type_symbol == NULL)
  3643                 if (IN_type_symbol == NULL)
  3644                   IN_type_symbol = last_type_symbol;
  3644                   IN_type_symbol = last_type_symbol;
  3645                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3645                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3646                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  3646                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  3647                 function_type_prefix = return_type_symbol;
  3647                 function_type_prefix = return_type_symbol;
  3648                 break;
  3648                 break;
  3649                 
  3649                 
  3650             }
  3650             }
  3662     case function_date_to_uint :
  3662     case function_date_to_uint :
  3663     {
  3663     {
  3664         symbol_c *last_type_symbol = NULL;
  3664         symbol_c *last_type_symbol = NULL;
  3665 
  3665 
  3666         {
  3666         {
  3667             identifier_c IN_param_name("IN");
  3667             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3668             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3668             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3669             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3669             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3670             symbol_c *IN_type_symbol = NULL;
  3670             symbol_c *IN_type_symbol = NULL;
  3671             
  3671             
  3672             /* Get the value from a foo(<param_value>) style call */
  3672             /* Get the value from a foo(<param_value>) style call */
  3673             if (IN_param_value == NULL)
  3673             if (IN_param_value == NULL)
  3674               IN_param_value = function_call_param_iterator.next_nf();
  3674               IN_param_value = function_call_param_iterator.next_nf();
  3682         
  3682         
  3683                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3683                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3684                 
  3684                 
  3685                 if (IN_type_symbol == NULL)
  3685                 if (IN_type_symbol == NULL)
  3686                   IN_type_symbol = last_type_symbol;
  3686                   IN_type_symbol = last_type_symbol;
  3687                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3687                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3688                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  3688                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  3689                 function_type_prefix = return_type_symbol;
  3689                 function_type_prefix = return_type_symbol;
  3690                 break;
  3690                 break;
  3691                 
  3691                 
  3692             }
  3692             }
  3704     case function_date_to_lreal :
  3704     case function_date_to_lreal :
  3705     {
  3705     {
  3706         symbol_c *last_type_symbol = NULL;
  3706         symbol_c *last_type_symbol = NULL;
  3707 
  3707 
  3708         {
  3708         {
  3709             identifier_c IN_param_name("IN");
  3709             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3710             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3710             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3711             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3711             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3712             symbol_c *IN_type_symbol = NULL;
  3712             symbol_c *IN_type_symbol = NULL;
  3713             
  3713             
  3714             /* Get the value from a foo(<param_value>) style call */
  3714             /* Get the value from a foo(<param_value>) style call */
  3715             if (IN_param_value == NULL)
  3715             if (IN_param_value == NULL)
  3716               IN_param_value = function_call_param_iterator.next_nf();
  3716               IN_param_value = function_call_param_iterator.next_nf();
  3724         
  3724         
  3725                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
  3725                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
  3726                 
  3726                 
  3727                 if (IN_type_symbol == NULL)
  3727                 if (IN_type_symbol == NULL)
  3728                   IN_type_symbol = last_type_symbol;
  3728                   IN_type_symbol = last_type_symbol;
  3729                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3729                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3730                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  3730                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  3731                 function_type_prefix = return_type_symbol;
  3731                 function_type_prefix = return_type_symbol;
  3732                 break;
  3732                 break;
  3733                 
  3733                 
  3734             }
  3734             }
  3746     case function_date_to_byte :
  3746     case function_date_to_byte :
  3747     {
  3747     {
  3748         symbol_c *last_type_symbol = NULL;
  3748         symbol_c *last_type_symbol = NULL;
  3749 
  3749 
  3750         {
  3750         {
  3751             identifier_c IN_param_name("IN");
  3751             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3752             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3752             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3753             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3753             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3754             symbol_c *IN_type_symbol = NULL;
  3754             symbol_c *IN_type_symbol = NULL;
  3755             
  3755             
  3756             /* Get the value from a foo(<param_value>) style call */
  3756             /* Get the value from a foo(<param_value>) style call */
  3757             if (IN_param_value == NULL)
  3757             if (IN_param_value == NULL)
  3758               IN_param_value = function_call_param_iterator.next_nf();
  3758               IN_param_value = function_call_param_iterator.next_nf();
  3766         
  3766         
  3767                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3767                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3768                 
  3768                 
  3769                 if (IN_type_symbol == NULL)
  3769                 if (IN_type_symbol == NULL)
  3770                   IN_type_symbol = last_type_symbol;
  3770                   IN_type_symbol = last_type_symbol;
  3771                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3771                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3772                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  3772                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  3773                 function_type_prefix = return_type_symbol;
  3773                 function_type_prefix = return_type_symbol;
  3774                 break;
  3774                 break;
  3775                 
  3775                 
  3776             }
  3776             }
  3788     case function_date_to_usint :
  3788     case function_date_to_usint :
  3789     {
  3789     {
  3790         symbol_c *last_type_symbol = NULL;
  3790         symbol_c *last_type_symbol = NULL;
  3791 
  3791 
  3792         {
  3792         {
  3793             identifier_c IN_param_name("IN");
  3793             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3794             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3794             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3795             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3795             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3796             symbol_c *IN_type_symbol = NULL;
  3796             symbol_c *IN_type_symbol = NULL;
  3797             
  3797             
  3798             /* Get the value from a foo(<param_value>) style call */
  3798             /* Get the value from a foo(<param_value>) style call */
  3799             if (IN_param_value == NULL)
  3799             if (IN_param_value == NULL)
  3800               IN_param_value = function_call_param_iterator.next_nf();
  3800               IN_param_value = function_call_param_iterator.next_nf();
  3808         
  3808         
  3809                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3809                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3810                 
  3810                 
  3811                 if (IN_type_symbol == NULL)
  3811                 if (IN_type_symbol == NULL)
  3812                   IN_type_symbol = last_type_symbol;
  3812                   IN_type_symbol = last_type_symbol;
  3813                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3813                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3814                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  3814                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  3815                 function_type_prefix = return_type_symbol;
  3815                 function_type_prefix = return_type_symbol;
  3816                 break;
  3816                 break;
  3817                 
  3817                 
  3818             }
  3818             }
  3830     case function_date_to_ulint :
  3830     case function_date_to_ulint :
  3831     {
  3831     {
  3832         symbol_c *last_type_symbol = NULL;
  3832         symbol_c *last_type_symbol = NULL;
  3833 
  3833 
  3834         {
  3834         {
  3835             identifier_c IN_param_name("IN");
  3835             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3836             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3836             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3837             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3837             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3838             symbol_c *IN_type_symbol = NULL;
  3838             symbol_c *IN_type_symbol = NULL;
  3839             
  3839             
  3840             /* Get the value from a foo(<param_value>) style call */
  3840             /* Get the value from a foo(<param_value>) style call */
  3841             if (IN_param_value == NULL)
  3841             if (IN_param_value == NULL)
  3842               IN_param_value = function_call_param_iterator.next_nf();
  3842               IN_param_value = function_call_param_iterator.next_nf();
  3850         
  3850         
  3851                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3851                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3852                 
  3852                 
  3853                 if (IN_type_symbol == NULL)
  3853                 if (IN_type_symbol == NULL)
  3854                   IN_type_symbol = last_type_symbol;
  3854                   IN_type_symbol = last_type_symbol;
  3855                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3855                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3856                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  3856                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  3857                 function_type_prefix = return_type_symbol;
  3857                 function_type_prefix = return_type_symbol;
  3858                 break;
  3858                 break;
  3859                 
  3859                 
  3860             }
  3860             }
  3872     case function_date_to_int :
  3872     case function_date_to_int :
  3873     {
  3873     {
  3874         symbol_c *last_type_symbol = NULL;
  3874         symbol_c *last_type_symbol = NULL;
  3875 
  3875 
  3876         {
  3876         {
  3877             identifier_c IN_param_name("IN");
  3877             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3878             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3878             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3879             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3879             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3880             symbol_c *IN_type_symbol = NULL;
  3880             symbol_c *IN_type_symbol = NULL;
  3881             
  3881             
  3882             /* Get the value from a foo(<param_value>) style call */
  3882             /* Get the value from a foo(<param_value>) style call */
  3883             if (IN_param_value == NULL)
  3883             if (IN_param_value == NULL)
  3884               IN_param_value = function_call_param_iterator.next_nf();
  3884               IN_param_value = function_call_param_iterator.next_nf();
  3892         
  3892         
  3893                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3893                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  3894                 
  3894                 
  3895                 if (IN_type_symbol == NULL)
  3895                 if (IN_type_symbol == NULL)
  3896                   IN_type_symbol = last_type_symbol;
  3896                   IN_type_symbol = last_type_symbol;
  3897                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3897                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3898                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  3898                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  3899                 function_type_prefix = return_type_symbol;
  3899                 function_type_prefix = return_type_symbol;
  3900                 break;
  3900                 break;
  3901                 
  3901                 
  3902             }
  3902             }
  3914     case function_dword_to_real :
  3914     case function_dword_to_real :
  3915     {
  3915     {
  3916         symbol_c *last_type_symbol = NULL;
  3916         symbol_c *last_type_symbol = NULL;
  3917 
  3917 
  3918         {
  3918         {
  3919             identifier_c IN_param_name("IN");
  3919             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3920             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3920             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3921             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3921             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3922             symbol_c *IN_type_symbol = NULL;
  3922             symbol_c *IN_type_symbol = NULL;
  3923             
  3923             
  3924             /* Get the value from a foo(<param_value>) style call */
  3924             /* Get the value from a foo(<param_value>) style call */
  3925             if (IN_param_value == NULL)
  3925             if (IN_param_value == NULL)
  3926               IN_param_value = function_call_param_iterator.next_nf();
  3926               IN_param_value = function_call_param_iterator.next_nf();
  3934         
  3934         
  3935                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3935                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3936                 
  3936                 
  3937                 if (IN_type_symbol == NULL)
  3937                 if (IN_type_symbol == NULL)
  3938                   IN_type_symbol = last_type_symbol;
  3938                   IN_type_symbol = last_type_symbol;
  3939                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3939                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3940                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  3940                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  3941                 function_type_prefix = return_type_symbol;
  3941                 function_type_prefix = return_type_symbol;
  3942                 function_type_suffix = IN_type_symbol;
  3942                 function_type_suffix = IN_type_symbol;
  3943                 break;
  3943                 break;
  3944                 
  3944                 
  3957     case function_dword_to_sint :
  3957     case function_dword_to_sint :
  3958     {
  3958     {
  3959         symbol_c *last_type_symbol = NULL;
  3959         symbol_c *last_type_symbol = NULL;
  3960 
  3960 
  3961         {
  3961         {
  3962             identifier_c IN_param_name("IN");
  3962             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  3963             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3963             /* Get the value from a foo(<param_name> = <param_value>) style call */
  3964             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  3964             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  3965             symbol_c *IN_type_symbol = NULL;
  3965             symbol_c *IN_type_symbol = NULL;
  3966             
  3966             
  3967             /* Get the value from a foo(<param_value>) style call */
  3967             /* Get the value from a foo(<param_value>) style call */
  3968             if (IN_param_value == NULL)
  3968             if (IN_param_value == NULL)
  3969               IN_param_value = function_call_param_iterator.next_nf();
  3969               IN_param_value = function_call_param_iterator.next_nf();
  3977         
  3977         
  3978                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3978                 function_name = (symbol_c*)(new pragma_c("__move_"));
  3979                 
  3979                 
  3980                 if (IN_type_symbol == NULL)
  3980                 if (IN_type_symbol == NULL)
  3981                   IN_type_symbol = last_type_symbol;
  3981                   IN_type_symbol = last_type_symbol;
  3982                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3982                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  3983                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  3983                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  3984                 function_type_prefix = return_type_symbol;
  3984                 function_type_prefix = return_type_symbol;
  3985                 function_type_suffix = IN_type_symbol;
  3985                 function_type_suffix = IN_type_symbol;
  3986                 break;
  3986                 break;
  3987                 
  3987                 
  4000     case function_dword_to_lint :
  4000     case function_dword_to_lint :
  4001     {
  4001     {
  4002         symbol_c *last_type_symbol = NULL;
  4002         symbol_c *last_type_symbol = NULL;
  4003 
  4003 
  4004         {
  4004         {
  4005             identifier_c IN_param_name("IN");
  4005             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4006             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4006             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4007             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4007             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4008             symbol_c *IN_type_symbol = NULL;
  4008             symbol_c *IN_type_symbol = NULL;
  4009             
  4009             
  4010             /* Get the value from a foo(<param_value>) style call */
  4010             /* Get the value from a foo(<param_value>) style call */
  4011             if (IN_param_value == NULL)
  4011             if (IN_param_value == NULL)
  4012               IN_param_value = function_call_param_iterator.next_nf();
  4012               IN_param_value = function_call_param_iterator.next_nf();
  4020         
  4020         
  4021                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4021                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4022                 
  4022                 
  4023                 if (IN_type_symbol == NULL)
  4023                 if (IN_type_symbol == NULL)
  4024                   IN_type_symbol = last_type_symbol;
  4024                   IN_type_symbol = last_type_symbol;
  4025                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4025                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4026                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  4026                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  4027                 function_type_prefix = return_type_symbol;
  4027                 function_type_prefix = return_type_symbol;
  4028                 function_type_suffix = IN_type_symbol;
  4028                 function_type_suffix = IN_type_symbol;
  4029                 break;
  4029                 break;
  4030                 
  4030                 
  4043     case function_dword_to_dint :
  4043     case function_dword_to_dint :
  4044     {
  4044     {
  4045         symbol_c *last_type_symbol = NULL;
  4045         symbol_c *last_type_symbol = NULL;
  4046 
  4046 
  4047         {
  4047         {
  4048             identifier_c IN_param_name("IN");
  4048             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4049             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4049             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4050             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4050             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4051             symbol_c *IN_type_symbol = NULL;
  4051             symbol_c *IN_type_symbol = NULL;
  4052             
  4052             
  4053             /* Get the value from a foo(<param_value>) style call */
  4053             /* Get the value from a foo(<param_value>) style call */
  4054             if (IN_param_value == NULL)
  4054             if (IN_param_value == NULL)
  4055               IN_param_value = function_call_param_iterator.next_nf();
  4055               IN_param_value = function_call_param_iterator.next_nf();
  4063         
  4063         
  4064                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4064                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4065                 
  4065                 
  4066                 if (IN_type_symbol == NULL)
  4066                 if (IN_type_symbol == NULL)
  4067                   IN_type_symbol = last_type_symbol;
  4067                   IN_type_symbol = last_type_symbol;
  4068                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4068                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4069                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  4069                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  4070                 function_type_prefix = return_type_symbol;
  4070                 function_type_prefix = return_type_symbol;
  4071                 function_type_suffix = IN_type_symbol;
  4071                 function_type_suffix = IN_type_symbol;
  4072                 break;
  4072                 break;
  4073                 
  4073                 
  4086     case function_dword_to_date :
  4086     case function_dword_to_date :
  4087     {
  4087     {
  4088         symbol_c *last_type_symbol = NULL;
  4088         symbol_c *last_type_symbol = NULL;
  4089 
  4089 
  4090         {
  4090         {
  4091             identifier_c IN_param_name("IN");
  4091             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4092             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4092             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4093             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4093             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4094             symbol_c *IN_type_symbol = NULL;
  4094             symbol_c *IN_type_symbol = NULL;
  4095             
  4095             
  4096             /* Get the value from a foo(<param_value>) style call */
  4096             /* Get the value from a foo(<param_value>) style call */
  4097             if (IN_param_value == NULL)
  4097             if (IN_param_value == NULL)
  4098               IN_param_value = function_call_param_iterator.next_nf();
  4098               IN_param_value = function_call_param_iterator.next_nf();
  4106         
  4106         
  4107                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  4107                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  4108                 
  4108                 
  4109                 if (IN_type_symbol == NULL)
  4109                 if (IN_type_symbol == NULL)
  4110                   IN_type_symbol = last_type_symbol;
  4110                   IN_type_symbol = last_type_symbol;
  4111                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4111                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4112                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  4112                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  4113                 function_type_prefix = return_type_symbol;
  4113                 function_type_prefix = return_type_symbol;
  4114                 break;
  4114                 break;
  4115                 
  4115                 
  4116             }
  4116             }
  4128     case function_dword_to_dt :
  4128     case function_dword_to_dt :
  4129     {
  4129     {
  4130         symbol_c *last_type_symbol = NULL;
  4130         symbol_c *last_type_symbol = NULL;
  4131 
  4131 
  4132         {
  4132         {
  4133             identifier_c IN_param_name("IN");
  4133             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4134             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4134             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4135             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4135             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4136             symbol_c *IN_type_symbol = NULL;
  4136             symbol_c *IN_type_symbol = NULL;
  4137             
  4137             
  4138             /* Get the value from a foo(<param_value>) style call */
  4138             /* Get the value from a foo(<param_value>) style call */
  4139             if (IN_param_value == NULL)
  4139             if (IN_param_value == NULL)
  4140               IN_param_value = function_call_param_iterator.next_nf();
  4140               IN_param_value = function_call_param_iterator.next_nf();
  4148         
  4148         
  4149                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  4149                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  4150                 
  4150                 
  4151                 if (IN_type_symbol == NULL)
  4151                 if (IN_type_symbol == NULL)
  4152                   IN_type_symbol = last_type_symbol;
  4152                   IN_type_symbol = last_type_symbol;
  4153                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4153                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4154                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  4154                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  4155                 function_type_prefix = return_type_symbol;
  4155                 function_type_prefix = return_type_symbol;
  4156                 break;
  4156                 break;
  4157                 
  4157                 
  4158             }
  4158             }
  4170     case function_dword_to_tod :
  4170     case function_dword_to_tod :
  4171     {
  4171     {
  4172         symbol_c *last_type_symbol = NULL;
  4172         symbol_c *last_type_symbol = NULL;
  4173 
  4173 
  4174         {
  4174         {
  4175             identifier_c IN_param_name("IN");
  4175             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4176             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4176             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4177             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4177             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4178             symbol_c *IN_type_symbol = NULL;
  4178             symbol_c *IN_type_symbol = NULL;
  4179             
  4179             
  4180             /* Get the value from a foo(<param_value>) style call */
  4180             /* Get the value from a foo(<param_value>) style call */
  4181             if (IN_param_value == NULL)
  4181             if (IN_param_value == NULL)
  4182               IN_param_value = function_call_param_iterator.next_nf();
  4182               IN_param_value = function_call_param_iterator.next_nf();
  4190         
  4190         
  4191                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  4191                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  4192                 
  4192                 
  4193                 if (IN_type_symbol == NULL)
  4193                 if (IN_type_symbol == NULL)
  4194                   IN_type_symbol = last_type_symbol;
  4194                   IN_type_symbol = last_type_symbol;
  4195                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4195                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4196                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  4196                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  4197                 function_type_prefix = return_type_symbol;
  4197                 function_type_prefix = return_type_symbol;
  4198                 break;
  4198                 break;
  4199                 
  4199                 
  4200             }
  4200             }
  4212     case function_dword_to_udint :
  4212     case function_dword_to_udint :
  4213     {
  4213     {
  4214         symbol_c *last_type_symbol = NULL;
  4214         symbol_c *last_type_symbol = NULL;
  4215 
  4215 
  4216         {
  4216         {
  4217             identifier_c IN_param_name("IN");
  4217             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4218             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4218             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4219             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4219             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4220             symbol_c *IN_type_symbol = NULL;
  4220             symbol_c *IN_type_symbol = NULL;
  4221             
  4221             
  4222             /* Get the value from a foo(<param_value>) style call */
  4222             /* Get the value from a foo(<param_value>) style call */
  4223             if (IN_param_value == NULL)
  4223             if (IN_param_value == NULL)
  4224               IN_param_value = function_call_param_iterator.next_nf();
  4224               IN_param_value = function_call_param_iterator.next_nf();
  4232         
  4232         
  4233                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4233                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4234                 
  4234                 
  4235                 if (IN_type_symbol == NULL)
  4235                 if (IN_type_symbol == NULL)
  4236                   IN_type_symbol = last_type_symbol;
  4236                   IN_type_symbol = last_type_symbol;
  4237                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4237                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4238                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  4238                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  4239                 function_type_prefix = return_type_symbol;
  4239                 function_type_prefix = return_type_symbol;
  4240                 function_type_suffix = IN_type_symbol;
  4240                 function_type_suffix = IN_type_symbol;
  4241                 break;
  4241                 break;
  4242                 
  4242                 
  4255     case function_dword_to_word :
  4255     case function_dword_to_word :
  4256     {
  4256     {
  4257         symbol_c *last_type_symbol = NULL;
  4257         symbol_c *last_type_symbol = NULL;
  4258 
  4258 
  4259         {
  4259         {
  4260             identifier_c IN_param_name("IN");
  4260             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4261             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4261             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4262             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4262             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4263             symbol_c *IN_type_symbol = NULL;
  4263             symbol_c *IN_type_symbol = NULL;
  4264             
  4264             
  4265             /* Get the value from a foo(<param_value>) style call */
  4265             /* Get the value from a foo(<param_value>) style call */
  4266             if (IN_param_value == NULL)
  4266             if (IN_param_value == NULL)
  4267               IN_param_value = function_call_param_iterator.next_nf();
  4267               IN_param_value = function_call_param_iterator.next_nf();
  4275         
  4275         
  4276                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4276                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4277                 
  4277                 
  4278                 if (IN_type_symbol == NULL)
  4278                 if (IN_type_symbol == NULL)
  4279                   IN_type_symbol = last_type_symbol;
  4279                   IN_type_symbol = last_type_symbol;
  4280                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4280                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4281                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  4281                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  4282                 function_type_prefix = return_type_symbol;
  4282                 function_type_prefix = return_type_symbol;
  4283                 function_type_suffix = IN_type_symbol;
  4283                 function_type_suffix = IN_type_symbol;
  4284                 break;
  4284                 break;
  4285                 
  4285                 
  4298     case function_dword_to_string :
  4298     case function_dword_to_string :
  4299     {
  4299     {
  4300         symbol_c *last_type_symbol = NULL;
  4300         symbol_c *last_type_symbol = NULL;
  4301 
  4301 
  4302         {
  4302         {
  4303             identifier_c IN_param_name("IN");
  4303             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4304             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4304             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4305             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4305             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4306             symbol_c *IN_type_symbol = NULL;
  4306             symbol_c *IN_type_symbol = NULL;
  4307             
  4307             
  4308             /* Get the value from a foo(<param_value>) style call */
  4308             /* Get the value from a foo(<param_value>) style call */
  4309             if (IN_param_value == NULL)
  4309             if (IN_param_value == NULL)
  4310               IN_param_value = function_call_param_iterator.next_nf();
  4310               IN_param_value = function_call_param_iterator.next_nf();
  4318         
  4318         
  4319                 function_name = (symbol_c*)(new pragma_c("__bit_to_string"));
  4319                 function_name = (symbol_c*)(new pragma_c("__bit_to_string"));
  4320                 
  4320                 
  4321                 if (IN_type_symbol == NULL)
  4321                 if (IN_type_symbol == NULL)
  4322                   IN_type_symbol = last_type_symbol;
  4322                   IN_type_symbol = last_type_symbol;
  4323                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4323                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4324                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  4324                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  4325                 function_type_prefix = return_type_symbol;
  4325                 function_type_prefix = return_type_symbol;
  4326                 break;
  4326                 break;
  4327                 
  4327                 
  4328             }
  4328             }
  4340     case function_dword_to_lword :
  4340     case function_dword_to_lword :
  4341     {
  4341     {
  4342         symbol_c *last_type_symbol = NULL;
  4342         symbol_c *last_type_symbol = NULL;
  4343 
  4343 
  4344         {
  4344         {
  4345             identifier_c IN_param_name("IN");
  4345             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4346             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4346             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4347             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4347             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4348             symbol_c *IN_type_symbol = NULL;
  4348             symbol_c *IN_type_symbol = NULL;
  4349             
  4349             
  4350             /* Get the value from a foo(<param_value>) style call */
  4350             /* Get the value from a foo(<param_value>) style call */
  4351             if (IN_param_value == NULL)
  4351             if (IN_param_value == NULL)
  4352               IN_param_value = function_call_param_iterator.next_nf();
  4352               IN_param_value = function_call_param_iterator.next_nf();
  4360         
  4360         
  4361                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4361                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4362                 
  4362                 
  4363                 if (IN_type_symbol == NULL)
  4363                 if (IN_type_symbol == NULL)
  4364                   IN_type_symbol = last_type_symbol;
  4364                   IN_type_symbol = last_type_symbol;
  4365                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4365                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4366                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  4366                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  4367                 function_type_prefix = return_type_symbol;
  4367                 function_type_prefix = return_type_symbol;
  4368                 function_type_suffix = IN_type_symbol;
  4368                 function_type_suffix = IN_type_symbol;
  4369                 break;
  4369                 break;
  4370                 
  4370                 
  4383     case function_dword_to_uint :
  4383     case function_dword_to_uint :
  4384     {
  4384     {
  4385         symbol_c *last_type_symbol = NULL;
  4385         symbol_c *last_type_symbol = NULL;
  4386 
  4386 
  4387         {
  4387         {
  4388             identifier_c IN_param_name("IN");
  4388             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4389             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4389             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4390             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4390             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4391             symbol_c *IN_type_symbol = NULL;
  4391             symbol_c *IN_type_symbol = NULL;
  4392             
  4392             
  4393             /* Get the value from a foo(<param_value>) style call */
  4393             /* Get the value from a foo(<param_value>) style call */
  4394             if (IN_param_value == NULL)
  4394             if (IN_param_value == NULL)
  4395               IN_param_value = function_call_param_iterator.next_nf();
  4395               IN_param_value = function_call_param_iterator.next_nf();
  4403         
  4403         
  4404                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4404                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4405                 
  4405                 
  4406                 if (IN_type_symbol == NULL)
  4406                 if (IN_type_symbol == NULL)
  4407                   IN_type_symbol = last_type_symbol;
  4407                   IN_type_symbol = last_type_symbol;
  4408                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4408                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4409                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  4409                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  4410                 function_type_prefix = return_type_symbol;
  4410                 function_type_prefix = return_type_symbol;
  4411                 function_type_suffix = IN_type_symbol;
  4411                 function_type_suffix = IN_type_symbol;
  4412                 break;
  4412                 break;
  4413                 
  4413                 
  4426     case function_dword_to_lreal :
  4426     case function_dword_to_lreal :
  4427     {
  4427     {
  4428         symbol_c *last_type_symbol = NULL;
  4428         symbol_c *last_type_symbol = NULL;
  4429 
  4429 
  4430         {
  4430         {
  4431             identifier_c IN_param_name("IN");
  4431             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4432             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4432             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4433             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4433             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4434             symbol_c *IN_type_symbol = NULL;
  4434             symbol_c *IN_type_symbol = NULL;
  4435             
  4435             
  4436             /* Get the value from a foo(<param_value>) style call */
  4436             /* Get the value from a foo(<param_value>) style call */
  4437             if (IN_param_value == NULL)
  4437             if (IN_param_value == NULL)
  4438               IN_param_value = function_call_param_iterator.next_nf();
  4438               IN_param_value = function_call_param_iterator.next_nf();
  4446         
  4446         
  4447                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4447                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4448                 
  4448                 
  4449                 if (IN_type_symbol == NULL)
  4449                 if (IN_type_symbol == NULL)
  4450                   IN_type_symbol = last_type_symbol;
  4450                   IN_type_symbol = last_type_symbol;
  4451                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4451                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4452                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  4452                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  4453                 function_type_prefix = return_type_symbol;
  4453                 function_type_prefix = return_type_symbol;
  4454                 function_type_suffix = IN_type_symbol;
  4454                 function_type_suffix = IN_type_symbol;
  4455                 break;
  4455                 break;
  4456                 
  4456                 
  4469     case function_dword_to_byte :
  4469     case function_dword_to_byte :
  4470     {
  4470     {
  4471         symbol_c *last_type_symbol = NULL;
  4471         symbol_c *last_type_symbol = NULL;
  4472 
  4472 
  4473         {
  4473         {
  4474             identifier_c IN_param_name("IN");
  4474             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4475             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4475             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4476             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4476             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4477             symbol_c *IN_type_symbol = NULL;
  4477             symbol_c *IN_type_symbol = NULL;
  4478             
  4478             
  4479             /* Get the value from a foo(<param_value>) style call */
  4479             /* Get the value from a foo(<param_value>) style call */
  4480             if (IN_param_value == NULL)
  4480             if (IN_param_value == NULL)
  4481               IN_param_value = function_call_param_iterator.next_nf();
  4481               IN_param_value = function_call_param_iterator.next_nf();
  4489         
  4489         
  4490                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4490                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4491                 
  4491                 
  4492                 if (IN_type_symbol == NULL)
  4492                 if (IN_type_symbol == NULL)
  4493                   IN_type_symbol = last_type_symbol;
  4493                   IN_type_symbol = last_type_symbol;
  4494                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4494                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4495                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  4495                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  4496                 function_type_prefix = return_type_symbol;
  4496                 function_type_prefix = return_type_symbol;
  4497                 function_type_suffix = IN_type_symbol;
  4497                 function_type_suffix = IN_type_symbol;
  4498                 break;
  4498                 break;
  4499                 
  4499                 
  4512     case function_dword_to_usint :
  4512     case function_dword_to_usint :
  4513     {
  4513     {
  4514         symbol_c *last_type_symbol = NULL;
  4514         symbol_c *last_type_symbol = NULL;
  4515 
  4515 
  4516         {
  4516         {
  4517             identifier_c IN_param_name("IN");
  4517             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4518             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4518             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4519             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4519             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4520             symbol_c *IN_type_symbol = NULL;
  4520             symbol_c *IN_type_symbol = NULL;
  4521             
  4521             
  4522             /* Get the value from a foo(<param_value>) style call */
  4522             /* Get the value from a foo(<param_value>) style call */
  4523             if (IN_param_value == NULL)
  4523             if (IN_param_value == NULL)
  4524               IN_param_value = function_call_param_iterator.next_nf();
  4524               IN_param_value = function_call_param_iterator.next_nf();
  4532         
  4532         
  4533                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4533                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4534                 
  4534                 
  4535                 if (IN_type_symbol == NULL)
  4535                 if (IN_type_symbol == NULL)
  4536                   IN_type_symbol = last_type_symbol;
  4536                   IN_type_symbol = last_type_symbol;
  4537                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4537                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4538                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  4538                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  4539                 function_type_prefix = return_type_symbol;
  4539                 function_type_prefix = return_type_symbol;
  4540                 function_type_suffix = IN_type_symbol;
  4540                 function_type_suffix = IN_type_symbol;
  4541                 break;
  4541                 break;
  4542                 
  4542                 
  4555     case function_dword_to_ulint :
  4555     case function_dword_to_ulint :
  4556     {
  4556     {
  4557         symbol_c *last_type_symbol = NULL;
  4557         symbol_c *last_type_symbol = NULL;
  4558 
  4558 
  4559         {
  4559         {
  4560             identifier_c IN_param_name("IN");
  4560             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4561             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4561             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4562             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4562             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4563             symbol_c *IN_type_symbol = NULL;
  4563             symbol_c *IN_type_symbol = NULL;
  4564             
  4564             
  4565             /* Get the value from a foo(<param_value>) style call */
  4565             /* Get the value from a foo(<param_value>) style call */
  4566             if (IN_param_value == NULL)
  4566             if (IN_param_value == NULL)
  4567               IN_param_value = function_call_param_iterator.next_nf();
  4567               IN_param_value = function_call_param_iterator.next_nf();
  4575         
  4575         
  4576                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4576                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4577                 
  4577                 
  4578                 if (IN_type_symbol == NULL)
  4578                 if (IN_type_symbol == NULL)
  4579                   IN_type_symbol = last_type_symbol;
  4579                   IN_type_symbol = last_type_symbol;
  4580                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4580                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4581                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  4581                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  4582                 function_type_prefix = return_type_symbol;
  4582                 function_type_prefix = return_type_symbol;
  4583                 function_type_suffix = IN_type_symbol;
  4583                 function_type_suffix = IN_type_symbol;
  4584                 break;
  4584                 break;
  4585                 
  4585                 
  4598     case function_dword_to_bool :
  4598     case function_dword_to_bool :
  4599     {
  4599     {
  4600         symbol_c *last_type_symbol = NULL;
  4600         symbol_c *last_type_symbol = NULL;
  4601 
  4601 
  4602         {
  4602         {
  4603             identifier_c IN_param_name("IN");
  4603             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4604             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4604             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4605             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4605             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4606             symbol_c *IN_type_symbol = NULL;
  4606             symbol_c *IN_type_symbol = NULL;
  4607             
  4607             
  4608             /* Get the value from a foo(<param_value>) style call */
  4608             /* Get the value from a foo(<param_value>) style call */
  4609             if (IN_param_value == NULL)
  4609             if (IN_param_value == NULL)
  4610               IN_param_value = function_call_param_iterator.next_nf();
  4610               IN_param_value = function_call_param_iterator.next_nf();
  4618         
  4618         
  4619                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4619                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4620                 
  4620                 
  4621                 if (IN_type_symbol == NULL)
  4621                 if (IN_type_symbol == NULL)
  4622                   IN_type_symbol = last_type_symbol;
  4622                   IN_type_symbol = last_type_symbol;
  4623                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4623                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4624                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  4624                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  4625                 function_type_prefix = return_type_symbol;
  4625                 function_type_prefix = return_type_symbol;
  4626                 function_type_suffix = IN_type_symbol;
  4626                 function_type_suffix = IN_type_symbol;
  4627                 break;
  4627                 break;
  4628                 
  4628                 
  4641     case function_dword_to_time :
  4641     case function_dword_to_time :
  4642     {
  4642     {
  4643         symbol_c *last_type_symbol = NULL;
  4643         symbol_c *last_type_symbol = NULL;
  4644 
  4644 
  4645         {
  4645         {
  4646             identifier_c IN_param_name("IN");
  4646             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4647             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4647             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4648             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4648             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4649             symbol_c *IN_type_symbol = NULL;
  4649             symbol_c *IN_type_symbol = NULL;
  4650             
  4650             
  4651             /* Get the value from a foo(<param_value>) style call */
  4651             /* Get the value from a foo(<param_value>) style call */
  4652             if (IN_param_value == NULL)
  4652             if (IN_param_value == NULL)
  4653               IN_param_value = function_call_param_iterator.next_nf();
  4653               IN_param_value = function_call_param_iterator.next_nf();
  4661         
  4661         
  4662                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  4662                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  4663                 
  4663                 
  4664                 if (IN_type_symbol == NULL)
  4664                 if (IN_type_symbol == NULL)
  4665                   IN_type_symbol = last_type_symbol;
  4665                   IN_type_symbol = last_type_symbol;
  4666                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4666                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4667                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  4667                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  4668                 function_type_prefix = return_type_symbol;
  4668                 function_type_prefix = return_type_symbol;
  4669                 break;
  4669                 break;
  4670                 
  4670                 
  4671             }
  4671             }
  4683     case function_dword_to_int :
  4683     case function_dword_to_int :
  4684     {
  4684     {
  4685         symbol_c *last_type_symbol = NULL;
  4685         symbol_c *last_type_symbol = NULL;
  4686 
  4686 
  4687         {
  4687         {
  4688             identifier_c IN_param_name("IN");
  4688             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4689             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4689             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4690             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4690             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4691             symbol_c *IN_type_symbol = NULL;
  4691             symbol_c *IN_type_symbol = NULL;
  4692             
  4692             
  4693             /* Get the value from a foo(<param_value>) style call */
  4693             /* Get the value from a foo(<param_value>) style call */
  4694             if (IN_param_value == NULL)
  4694             if (IN_param_value == NULL)
  4695               IN_param_value = function_call_param_iterator.next_nf();
  4695               IN_param_value = function_call_param_iterator.next_nf();
  4703         
  4703         
  4704                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4704                 function_name = (symbol_c*)(new pragma_c("__move_"));
  4705                 
  4705                 
  4706                 if (IN_type_symbol == NULL)
  4706                 if (IN_type_symbol == NULL)
  4707                   IN_type_symbol = last_type_symbol;
  4707                   IN_type_symbol = last_type_symbol;
  4708                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4708                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4709                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  4709                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  4710                 function_type_prefix = return_type_symbol;
  4710                 function_type_prefix = return_type_symbol;
  4711                 function_type_suffix = IN_type_symbol;
  4711                 function_type_suffix = IN_type_symbol;
  4712                 break;
  4712                 break;
  4713                 
  4713                 
  4726     case function_dt_to_real :
  4726     case function_dt_to_real :
  4727     {
  4727     {
  4728         symbol_c *last_type_symbol = NULL;
  4728         symbol_c *last_type_symbol = NULL;
  4729 
  4729 
  4730         {
  4730         {
  4731             identifier_c IN_param_name("IN");
  4731             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4732             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4732             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4733             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4733             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4734             symbol_c *IN_type_symbol = NULL;
  4734             symbol_c *IN_type_symbol = NULL;
  4735             
  4735             
  4736             /* Get the value from a foo(<param_value>) style call */
  4736             /* Get the value from a foo(<param_value>) style call */
  4737             if (IN_param_value == NULL)
  4737             if (IN_param_value == NULL)
  4738               IN_param_value = function_call_param_iterator.next_nf();
  4738               IN_param_value = function_call_param_iterator.next_nf();
  4746         
  4746         
  4747                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
  4747                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
  4748                 
  4748                 
  4749                 if (IN_type_symbol == NULL)
  4749                 if (IN_type_symbol == NULL)
  4750                   IN_type_symbol = last_type_symbol;
  4750                   IN_type_symbol = last_type_symbol;
  4751                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4751                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4752                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  4752                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  4753                 function_type_prefix = return_type_symbol;
  4753                 function_type_prefix = return_type_symbol;
  4754                 break;
  4754                 break;
  4755                 
  4755                 
  4756             }
  4756             }
  4768     case function_dt_to_sint :
  4768     case function_dt_to_sint :
  4769     {
  4769     {
  4770         symbol_c *last_type_symbol = NULL;
  4770         symbol_c *last_type_symbol = NULL;
  4771 
  4771 
  4772         {
  4772         {
  4773             identifier_c IN_param_name("IN");
  4773             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4774             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4774             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4775             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4775             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4776             symbol_c *IN_type_symbol = NULL;
  4776             symbol_c *IN_type_symbol = NULL;
  4777             
  4777             
  4778             /* Get the value from a foo(<param_value>) style call */
  4778             /* Get the value from a foo(<param_value>) style call */
  4779             if (IN_param_value == NULL)
  4779             if (IN_param_value == NULL)
  4780               IN_param_value = function_call_param_iterator.next_nf();
  4780               IN_param_value = function_call_param_iterator.next_nf();
  4788         
  4788         
  4789                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  4789                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  4790                 
  4790                 
  4791                 if (IN_type_symbol == NULL)
  4791                 if (IN_type_symbol == NULL)
  4792                   IN_type_symbol = last_type_symbol;
  4792                   IN_type_symbol = last_type_symbol;
  4793                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4793                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4794                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  4794                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  4795                 function_type_prefix = return_type_symbol;
  4795                 function_type_prefix = return_type_symbol;
  4796                 break;
  4796                 break;
  4797                 
  4797                 
  4798             }
  4798             }
  4810     case function_dt_to_lint :
  4810     case function_dt_to_lint :
  4811     {
  4811     {
  4812         symbol_c *last_type_symbol = NULL;
  4812         symbol_c *last_type_symbol = NULL;
  4813 
  4813 
  4814         {
  4814         {
  4815             identifier_c IN_param_name("IN");
  4815             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4816             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4816             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4817             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4817             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4818             symbol_c *IN_type_symbol = NULL;
  4818             symbol_c *IN_type_symbol = NULL;
  4819             
  4819             
  4820             /* Get the value from a foo(<param_value>) style call */
  4820             /* Get the value from a foo(<param_value>) style call */
  4821             if (IN_param_value == NULL)
  4821             if (IN_param_value == NULL)
  4822               IN_param_value = function_call_param_iterator.next_nf();
  4822               IN_param_value = function_call_param_iterator.next_nf();
  4830         
  4830         
  4831                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  4831                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  4832                 
  4832                 
  4833                 if (IN_type_symbol == NULL)
  4833                 if (IN_type_symbol == NULL)
  4834                   IN_type_symbol = last_type_symbol;
  4834                   IN_type_symbol = last_type_symbol;
  4835                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4835                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4836                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  4836                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  4837                 function_type_prefix = return_type_symbol;
  4837                 function_type_prefix = return_type_symbol;
  4838                 break;
  4838                 break;
  4839                 
  4839                 
  4840             }
  4840             }
  4852     case function_dt_to_dint :
  4852     case function_dt_to_dint :
  4853     {
  4853     {
  4854         symbol_c *last_type_symbol = NULL;
  4854         symbol_c *last_type_symbol = NULL;
  4855 
  4855 
  4856         {
  4856         {
  4857             identifier_c IN_param_name("IN");
  4857             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4858             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4858             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4859             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4859             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4860             symbol_c *IN_type_symbol = NULL;
  4860             symbol_c *IN_type_symbol = NULL;
  4861             
  4861             
  4862             /* Get the value from a foo(<param_value>) style call */
  4862             /* Get the value from a foo(<param_value>) style call */
  4863             if (IN_param_value == NULL)
  4863             if (IN_param_value == NULL)
  4864               IN_param_value = function_call_param_iterator.next_nf();
  4864               IN_param_value = function_call_param_iterator.next_nf();
  4872         
  4872         
  4873                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  4873                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  4874                 
  4874                 
  4875                 if (IN_type_symbol == NULL)
  4875                 if (IN_type_symbol == NULL)
  4876                   IN_type_symbol = last_type_symbol;
  4876                   IN_type_symbol = last_type_symbol;
  4877                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4877                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4878                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  4878                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  4879                 function_type_prefix = return_type_symbol;
  4879                 function_type_prefix = return_type_symbol;
  4880                 break;
  4880                 break;
  4881                 
  4881                 
  4882             }
  4882             }
  4894     case function_dt_to_dword :
  4894     case function_dt_to_dword :
  4895     {
  4895     {
  4896         symbol_c *last_type_symbol = NULL;
  4896         symbol_c *last_type_symbol = NULL;
  4897 
  4897 
  4898         {
  4898         {
  4899             identifier_c IN_param_name("IN");
  4899             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4900             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4900             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4901             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4901             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4902             symbol_c *IN_type_symbol = NULL;
  4902             symbol_c *IN_type_symbol = NULL;
  4903             
  4903             
  4904             /* Get the value from a foo(<param_value>) style call */
  4904             /* Get the value from a foo(<param_value>) style call */
  4905             if (IN_param_value == NULL)
  4905             if (IN_param_value == NULL)
  4906               IN_param_value = function_call_param_iterator.next_nf();
  4906               IN_param_value = function_call_param_iterator.next_nf();
  4914         
  4914         
  4915                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  4915                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  4916                 
  4916                 
  4917                 if (IN_type_symbol == NULL)
  4917                 if (IN_type_symbol == NULL)
  4918                   IN_type_symbol = last_type_symbol;
  4918                   IN_type_symbol = last_type_symbol;
  4919                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4919                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4920                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  4920                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  4921                 function_type_prefix = return_type_symbol;
  4921                 function_type_prefix = return_type_symbol;
  4922                 break;
  4922                 break;
  4923                 
  4923                 
  4924             }
  4924             }
  4936     case function_dt_to_udint :
  4936     case function_dt_to_udint :
  4937     {
  4937     {
  4938         symbol_c *last_type_symbol = NULL;
  4938         symbol_c *last_type_symbol = NULL;
  4939 
  4939 
  4940         {
  4940         {
  4941             identifier_c IN_param_name("IN");
  4941             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4942             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4942             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4943             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4943             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4944             symbol_c *IN_type_symbol = NULL;
  4944             symbol_c *IN_type_symbol = NULL;
  4945             
  4945             
  4946             /* Get the value from a foo(<param_value>) style call */
  4946             /* Get the value from a foo(<param_value>) style call */
  4947             if (IN_param_value == NULL)
  4947             if (IN_param_value == NULL)
  4948               IN_param_value = function_call_param_iterator.next_nf();
  4948               IN_param_value = function_call_param_iterator.next_nf();
  4956         
  4956         
  4957                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  4957                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  4958                 
  4958                 
  4959                 if (IN_type_symbol == NULL)
  4959                 if (IN_type_symbol == NULL)
  4960                   IN_type_symbol = last_type_symbol;
  4960                   IN_type_symbol = last_type_symbol;
  4961                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4961                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  4962                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  4962                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  4963                 function_type_prefix = return_type_symbol;
  4963                 function_type_prefix = return_type_symbol;
  4964                 break;
  4964                 break;
  4965                 
  4965                 
  4966             }
  4966             }
  4978     case function_dt_to_word :
  4978     case function_dt_to_word :
  4979     {
  4979     {
  4980         symbol_c *last_type_symbol = NULL;
  4980         symbol_c *last_type_symbol = NULL;
  4981 
  4981 
  4982         {
  4982         {
  4983             identifier_c IN_param_name("IN");
  4983             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  4984             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4984             /* Get the value from a foo(<param_name> = <param_value>) style call */
  4985             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  4985             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  4986             symbol_c *IN_type_symbol = NULL;
  4986             symbol_c *IN_type_symbol = NULL;
  4987             
  4987             
  4988             /* Get the value from a foo(<param_value>) style call */
  4988             /* Get the value from a foo(<param_value>) style call */
  4989             if (IN_param_value == NULL)
  4989             if (IN_param_value == NULL)
  4990               IN_param_value = function_call_param_iterator.next_nf();
  4990               IN_param_value = function_call_param_iterator.next_nf();
  4998         
  4998         
  4999                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  4999                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5000                 
  5000                 
  5001                 if (IN_type_symbol == NULL)
  5001                 if (IN_type_symbol == NULL)
  5002                   IN_type_symbol = last_type_symbol;
  5002                   IN_type_symbol = last_type_symbol;
  5003                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5003                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5004                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  5004                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  5005                 function_type_prefix = return_type_symbol;
  5005                 function_type_prefix = return_type_symbol;
  5006                 break;
  5006                 break;
  5007                 
  5007                 
  5008             }
  5008             }
  5020     case function_dt_to_string :
  5020     case function_dt_to_string :
  5021     {
  5021     {
  5022         symbol_c *last_type_symbol = NULL;
  5022         symbol_c *last_type_symbol = NULL;
  5023 
  5023 
  5024         {
  5024         {
  5025             identifier_c IN_param_name("IN");
  5025             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5026             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5026             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5027             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5027             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5028             symbol_c *IN_type_symbol = NULL;
  5028             symbol_c *IN_type_symbol = NULL;
  5029             
  5029             
  5030             /* Get the value from a foo(<param_value>) style call */
  5030             /* Get the value from a foo(<param_value>) style call */
  5031             if (IN_param_value == NULL)
  5031             if (IN_param_value == NULL)
  5032               IN_param_value = function_call_param_iterator.next_nf();
  5032               IN_param_value = function_call_param_iterator.next_nf();
  5040         
  5040         
  5041                 function_name = (symbol_c*)(new pragma_c("__dt_to_string"));
  5041                 function_name = (symbol_c*)(new pragma_c("__dt_to_string"));
  5042                 
  5042                 
  5043                 if (IN_type_symbol == NULL)
  5043                 if (IN_type_symbol == NULL)
  5044                   IN_type_symbol = last_type_symbol;
  5044                   IN_type_symbol = last_type_symbol;
  5045                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5045                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5046                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  5046                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  5047                 function_type_prefix = return_type_symbol;
  5047                 function_type_prefix = return_type_symbol;
  5048                 break;
  5048                 break;
  5049                 
  5049                 
  5050             }
  5050             }
  5062     case function_dt_to_lword :
  5062     case function_dt_to_lword :
  5063     {
  5063     {
  5064         symbol_c *last_type_symbol = NULL;
  5064         symbol_c *last_type_symbol = NULL;
  5065 
  5065 
  5066         {
  5066         {
  5067             identifier_c IN_param_name("IN");
  5067             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5068             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5068             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5069             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5069             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5070             symbol_c *IN_type_symbol = NULL;
  5070             symbol_c *IN_type_symbol = NULL;
  5071             
  5071             
  5072             /* Get the value from a foo(<param_value>) style call */
  5072             /* Get the value from a foo(<param_value>) style call */
  5073             if (IN_param_value == NULL)
  5073             if (IN_param_value == NULL)
  5074               IN_param_value = function_call_param_iterator.next_nf();
  5074               IN_param_value = function_call_param_iterator.next_nf();
  5082         
  5082         
  5083                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5083                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5084                 
  5084                 
  5085                 if (IN_type_symbol == NULL)
  5085                 if (IN_type_symbol == NULL)
  5086                   IN_type_symbol = last_type_symbol;
  5086                   IN_type_symbol = last_type_symbol;
  5087                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5087                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5088                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  5088                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  5089                 function_type_prefix = return_type_symbol;
  5089                 function_type_prefix = return_type_symbol;
  5090                 break;
  5090                 break;
  5091                 
  5091                 
  5092             }
  5092             }
  5104     case function_dt_to_uint :
  5104     case function_dt_to_uint :
  5105     {
  5105     {
  5106         symbol_c *last_type_symbol = NULL;
  5106         symbol_c *last_type_symbol = NULL;
  5107 
  5107 
  5108         {
  5108         {
  5109             identifier_c IN_param_name("IN");
  5109             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5110             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5110             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5111             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5111             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5112             symbol_c *IN_type_symbol = NULL;
  5112             symbol_c *IN_type_symbol = NULL;
  5113             
  5113             
  5114             /* Get the value from a foo(<param_value>) style call */
  5114             /* Get the value from a foo(<param_value>) style call */
  5115             if (IN_param_value == NULL)
  5115             if (IN_param_value == NULL)
  5116               IN_param_value = function_call_param_iterator.next_nf();
  5116               IN_param_value = function_call_param_iterator.next_nf();
  5124         
  5124         
  5125                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5125                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5126                 
  5126                 
  5127                 if (IN_type_symbol == NULL)
  5127                 if (IN_type_symbol == NULL)
  5128                   IN_type_symbol = last_type_symbol;
  5128                   IN_type_symbol = last_type_symbol;
  5129                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5129                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5130                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  5130                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  5131                 function_type_prefix = return_type_symbol;
  5131                 function_type_prefix = return_type_symbol;
  5132                 break;
  5132                 break;
  5133                 
  5133                 
  5134             }
  5134             }
  5146     case function_dt_to_lreal :
  5146     case function_dt_to_lreal :
  5147     {
  5147     {
  5148         symbol_c *last_type_symbol = NULL;
  5148         symbol_c *last_type_symbol = NULL;
  5149 
  5149 
  5150         {
  5150         {
  5151             identifier_c IN_param_name("IN");
  5151             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5152             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5152             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5153             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5153             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5154             symbol_c *IN_type_symbol = NULL;
  5154             symbol_c *IN_type_symbol = NULL;
  5155             
  5155             
  5156             /* Get the value from a foo(<param_value>) style call */
  5156             /* Get the value from a foo(<param_value>) style call */
  5157             if (IN_param_value == NULL)
  5157             if (IN_param_value == NULL)
  5158               IN_param_value = function_call_param_iterator.next_nf();
  5158               IN_param_value = function_call_param_iterator.next_nf();
  5166         
  5166         
  5167                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
  5167                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
  5168                 
  5168                 
  5169                 if (IN_type_symbol == NULL)
  5169                 if (IN_type_symbol == NULL)
  5170                   IN_type_symbol = last_type_symbol;
  5170                   IN_type_symbol = last_type_symbol;
  5171                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5171                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5172                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  5172                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  5173                 function_type_prefix = return_type_symbol;
  5173                 function_type_prefix = return_type_symbol;
  5174                 break;
  5174                 break;
  5175                 
  5175                 
  5176             }
  5176             }
  5188     case function_dt_to_byte :
  5188     case function_dt_to_byte :
  5189     {
  5189     {
  5190         symbol_c *last_type_symbol = NULL;
  5190         symbol_c *last_type_symbol = NULL;
  5191 
  5191 
  5192         {
  5192         {
  5193             identifier_c IN_param_name("IN");
  5193             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5194             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5194             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5195             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5195             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5196             symbol_c *IN_type_symbol = NULL;
  5196             symbol_c *IN_type_symbol = NULL;
  5197             
  5197             
  5198             /* Get the value from a foo(<param_value>) style call */
  5198             /* Get the value from a foo(<param_value>) style call */
  5199             if (IN_param_value == NULL)
  5199             if (IN_param_value == NULL)
  5200               IN_param_value = function_call_param_iterator.next_nf();
  5200               IN_param_value = function_call_param_iterator.next_nf();
  5208         
  5208         
  5209                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5209                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5210                 
  5210                 
  5211                 if (IN_type_symbol == NULL)
  5211                 if (IN_type_symbol == NULL)
  5212                   IN_type_symbol = last_type_symbol;
  5212                   IN_type_symbol = last_type_symbol;
  5213                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5213                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5214                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  5214                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  5215                 function_type_prefix = return_type_symbol;
  5215                 function_type_prefix = return_type_symbol;
  5216                 break;
  5216                 break;
  5217                 
  5217                 
  5218             }
  5218             }
  5230     case function_dt_to_usint :
  5230     case function_dt_to_usint :
  5231     {
  5231     {
  5232         symbol_c *last_type_symbol = NULL;
  5232         symbol_c *last_type_symbol = NULL;
  5233 
  5233 
  5234         {
  5234         {
  5235             identifier_c IN_param_name("IN");
  5235             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5236             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5236             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5237             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5237             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5238             symbol_c *IN_type_symbol = NULL;
  5238             symbol_c *IN_type_symbol = NULL;
  5239             
  5239             
  5240             /* Get the value from a foo(<param_value>) style call */
  5240             /* Get the value from a foo(<param_value>) style call */
  5241             if (IN_param_value == NULL)
  5241             if (IN_param_value == NULL)
  5242               IN_param_value = function_call_param_iterator.next_nf();
  5242               IN_param_value = function_call_param_iterator.next_nf();
  5250         
  5250         
  5251                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5251                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5252                 
  5252                 
  5253                 if (IN_type_symbol == NULL)
  5253                 if (IN_type_symbol == NULL)
  5254                   IN_type_symbol = last_type_symbol;
  5254                   IN_type_symbol = last_type_symbol;
  5255                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5255                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5256                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  5256                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  5257                 function_type_prefix = return_type_symbol;
  5257                 function_type_prefix = return_type_symbol;
  5258                 break;
  5258                 break;
  5259                 
  5259                 
  5260             }
  5260             }
  5272     case function_dt_to_ulint :
  5272     case function_dt_to_ulint :
  5273     {
  5273     {
  5274         symbol_c *last_type_symbol = NULL;
  5274         symbol_c *last_type_symbol = NULL;
  5275 
  5275 
  5276         {
  5276         {
  5277             identifier_c IN_param_name("IN");
  5277             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5278             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5278             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5279             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5279             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5280             symbol_c *IN_type_symbol = NULL;
  5280             symbol_c *IN_type_symbol = NULL;
  5281             
  5281             
  5282             /* Get the value from a foo(<param_value>) style call */
  5282             /* Get the value from a foo(<param_value>) style call */
  5283             if (IN_param_value == NULL)
  5283             if (IN_param_value == NULL)
  5284               IN_param_value = function_call_param_iterator.next_nf();
  5284               IN_param_value = function_call_param_iterator.next_nf();
  5292         
  5292         
  5293                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5293                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5294                 
  5294                 
  5295                 if (IN_type_symbol == NULL)
  5295                 if (IN_type_symbol == NULL)
  5296                   IN_type_symbol = last_type_symbol;
  5296                   IN_type_symbol = last_type_symbol;
  5297                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5297                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5298                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  5298                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  5299                 function_type_prefix = return_type_symbol;
  5299                 function_type_prefix = return_type_symbol;
  5300                 break;
  5300                 break;
  5301                 
  5301                 
  5302             }
  5302             }
  5314     case function_dt_to_int :
  5314     case function_dt_to_int :
  5315     {
  5315     {
  5316         symbol_c *last_type_symbol = NULL;
  5316         symbol_c *last_type_symbol = NULL;
  5317 
  5317 
  5318         {
  5318         {
  5319             identifier_c IN_param_name("IN");
  5319             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5320             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5320             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5321             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5321             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5322             symbol_c *IN_type_symbol = NULL;
  5322             symbol_c *IN_type_symbol = NULL;
  5323             
  5323             
  5324             /* Get the value from a foo(<param_value>) style call */
  5324             /* Get the value from a foo(<param_value>) style call */
  5325             if (IN_param_value == NULL)
  5325             if (IN_param_value == NULL)
  5326               IN_param_value = function_call_param_iterator.next_nf();
  5326               IN_param_value = function_call_param_iterator.next_nf();
  5334         
  5334         
  5335                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5335                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5336                 
  5336                 
  5337                 if (IN_type_symbol == NULL)
  5337                 if (IN_type_symbol == NULL)
  5338                   IN_type_symbol = last_type_symbol;
  5338                   IN_type_symbol = last_type_symbol;
  5339                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5339                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5340                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  5340                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  5341                 function_type_prefix = return_type_symbol;
  5341                 function_type_prefix = return_type_symbol;
  5342                 break;
  5342                 break;
  5343                 
  5343                 
  5344             }
  5344             }
  5356     case function_tod_to_real :
  5356     case function_tod_to_real :
  5357     {
  5357     {
  5358         symbol_c *last_type_symbol = NULL;
  5358         symbol_c *last_type_symbol = NULL;
  5359 
  5359 
  5360         {
  5360         {
  5361             identifier_c IN_param_name("IN");
  5361             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5362             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5362             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5363             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5363             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5364             symbol_c *IN_type_symbol = NULL;
  5364             symbol_c *IN_type_symbol = NULL;
  5365             
  5365             
  5366             /* Get the value from a foo(<param_value>) style call */
  5366             /* Get the value from a foo(<param_value>) style call */
  5367             if (IN_param_value == NULL)
  5367             if (IN_param_value == NULL)
  5368               IN_param_value = function_call_param_iterator.next_nf();
  5368               IN_param_value = function_call_param_iterator.next_nf();
  5376         
  5376         
  5377                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
  5377                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
  5378                 
  5378                 
  5379                 if (IN_type_symbol == NULL)
  5379                 if (IN_type_symbol == NULL)
  5380                   IN_type_symbol = last_type_symbol;
  5380                   IN_type_symbol = last_type_symbol;
  5381                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5381                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5382                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  5382                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  5383                 function_type_prefix = return_type_symbol;
  5383                 function_type_prefix = return_type_symbol;
  5384                 break;
  5384                 break;
  5385                 
  5385                 
  5386             }
  5386             }
  5398     case function_tod_to_sint :
  5398     case function_tod_to_sint :
  5399     {
  5399     {
  5400         symbol_c *last_type_symbol = NULL;
  5400         symbol_c *last_type_symbol = NULL;
  5401 
  5401 
  5402         {
  5402         {
  5403             identifier_c IN_param_name("IN");
  5403             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5404             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5404             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5405             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5405             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5406             symbol_c *IN_type_symbol = NULL;
  5406             symbol_c *IN_type_symbol = NULL;
  5407             
  5407             
  5408             /* Get the value from a foo(<param_value>) style call */
  5408             /* Get the value from a foo(<param_value>) style call */
  5409             if (IN_param_value == NULL)
  5409             if (IN_param_value == NULL)
  5410               IN_param_value = function_call_param_iterator.next_nf();
  5410               IN_param_value = function_call_param_iterator.next_nf();
  5418         
  5418         
  5419                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5419                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5420                 
  5420                 
  5421                 if (IN_type_symbol == NULL)
  5421                 if (IN_type_symbol == NULL)
  5422                   IN_type_symbol = last_type_symbol;
  5422                   IN_type_symbol = last_type_symbol;
  5423                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5423                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5424                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  5424                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  5425                 function_type_prefix = return_type_symbol;
  5425                 function_type_prefix = return_type_symbol;
  5426                 break;
  5426                 break;
  5427                 
  5427                 
  5428             }
  5428             }
  5440     case function_tod_to_lint :
  5440     case function_tod_to_lint :
  5441     {
  5441     {
  5442         symbol_c *last_type_symbol = NULL;
  5442         symbol_c *last_type_symbol = NULL;
  5443 
  5443 
  5444         {
  5444         {
  5445             identifier_c IN_param_name("IN");
  5445             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5446             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5446             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5447             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5447             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5448             symbol_c *IN_type_symbol = NULL;
  5448             symbol_c *IN_type_symbol = NULL;
  5449             
  5449             
  5450             /* Get the value from a foo(<param_value>) style call */
  5450             /* Get the value from a foo(<param_value>) style call */
  5451             if (IN_param_value == NULL)
  5451             if (IN_param_value == NULL)
  5452               IN_param_value = function_call_param_iterator.next_nf();
  5452               IN_param_value = function_call_param_iterator.next_nf();
  5460         
  5460         
  5461                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5461                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5462                 
  5462                 
  5463                 if (IN_type_symbol == NULL)
  5463                 if (IN_type_symbol == NULL)
  5464                   IN_type_symbol = last_type_symbol;
  5464                   IN_type_symbol = last_type_symbol;
  5465                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5465                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5466                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  5466                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  5467                 function_type_prefix = return_type_symbol;
  5467                 function_type_prefix = return_type_symbol;
  5468                 break;
  5468                 break;
  5469                 
  5469                 
  5470             }
  5470             }
  5482     case function_tod_to_dint :
  5482     case function_tod_to_dint :
  5483     {
  5483     {
  5484         symbol_c *last_type_symbol = NULL;
  5484         symbol_c *last_type_symbol = NULL;
  5485 
  5485 
  5486         {
  5486         {
  5487             identifier_c IN_param_name("IN");
  5487             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5488             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5488             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5489             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5489             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5490             symbol_c *IN_type_symbol = NULL;
  5490             symbol_c *IN_type_symbol = NULL;
  5491             
  5491             
  5492             /* Get the value from a foo(<param_value>) style call */
  5492             /* Get the value from a foo(<param_value>) style call */
  5493             if (IN_param_value == NULL)
  5493             if (IN_param_value == NULL)
  5494               IN_param_value = function_call_param_iterator.next_nf();
  5494               IN_param_value = function_call_param_iterator.next_nf();
  5502         
  5502         
  5503                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5503                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5504                 
  5504                 
  5505                 if (IN_type_symbol == NULL)
  5505                 if (IN_type_symbol == NULL)
  5506                   IN_type_symbol = last_type_symbol;
  5506                   IN_type_symbol = last_type_symbol;
  5507                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5507                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5508                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  5508                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  5509                 function_type_prefix = return_type_symbol;
  5509                 function_type_prefix = return_type_symbol;
  5510                 break;
  5510                 break;
  5511                 
  5511                 
  5512             }
  5512             }
  5524     case function_tod_to_dword :
  5524     case function_tod_to_dword :
  5525     {
  5525     {
  5526         symbol_c *last_type_symbol = NULL;
  5526         symbol_c *last_type_symbol = NULL;
  5527 
  5527 
  5528         {
  5528         {
  5529             identifier_c IN_param_name("IN");
  5529             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5530             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5530             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5531             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5531             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5532             symbol_c *IN_type_symbol = NULL;
  5532             symbol_c *IN_type_symbol = NULL;
  5533             
  5533             
  5534             /* Get the value from a foo(<param_value>) style call */
  5534             /* Get the value from a foo(<param_value>) style call */
  5535             if (IN_param_value == NULL)
  5535             if (IN_param_value == NULL)
  5536               IN_param_value = function_call_param_iterator.next_nf();
  5536               IN_param_value = function_call_param_iterator.next_nf();
  5544         
  5544         
  5545                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5545                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5546                 
  5546                 
  5547                 if (IN_type_symbol == NULL)
  5547                 if (IN_type_symbol == NULL)
  5548                   IN_type_symbol = last_type_symbol;
  5548                   IN_type_symbol = last_type_symbol;
  5549                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5549                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5550                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  5550                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  5551                 function_type_prefix = return_type_symbol;
  5551                 function_type_prefix = return_type_symbol;
  5552                 break;
  5552                 break;
  5553                 
  5553                 
  5554             }
  5554             }
  5566     case function_tod_to_udint :
  5566     case function_tod_to_udint :
  5567     {
  5567     {
  5568         symbol_c *last_type_symbol = NULL;
  5568         symbol_c *last_type_symbol = NULL;
  5569 
  5569 
  5570         {
  5570         {
  5571             identifier_c IN_param_name("IN");
  5571             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5572             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5572             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5573             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5573             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5574             symbol_c *IN_type_symbol = NULL;
  5574             symbol_c *IN_type_symbol = NULL;
  5575             
  5575             
  5576             /* Get the value from a foo(<param_value>) style call */
  5576             /* Get the value from a foo(<param_value>) style call */
  5577             if (IN_param_value == NULL)
  5577             if (IN_param_value == NULL)
  5578               IN_param_value = function_call_param_iterator.next_nf();
  5578               IN_param_value = function_call_param_iterator.next_nf();
  5586         
  5586         
  5587                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5587                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5588                 
  5588                 
  5589                 if (IN_type_symbol == NULL)
  5589                 if (IN_type_symbol == NULL)
  5590                   IN_type_symbol = last_type_symbol;
  5590                   IN_type_symbol = last_type_symbol;
  5591                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5591                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5592                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  5592                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  5593                 function_type_prefix = return_type_symbol;
  5593                 function_type_prefix = return_type_symbol;
  5594                 break;
  5594                 break;
  5595                 
  5595                 
  5596             }
  5596             }
  5608     case function_tod_to_word :
  5608     case function_tod_to_word :
  5609     {
  5609     {
  5610         symbol_c *last_type_symbol = NULL;
  5610         symbol_c *last_type_symbol = NULL;
  5611 
  5611 
  5612         {
  5612         {
  5613             identifier_c IN_param_name("IN");
  5613             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5614             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5614             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5615             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5615             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5616             symbol_c *IN_type_symbol = NULL;
  5616             symbol_c *IN_type_symbol = NULL;
  5617             
  5617             
  5618             /* Get the value from a foo(<param_value>) style call */
  5618             /* Get the value from a foo(<param_value>) style call */
  5619             if (IN_param_value == NULL)
  5619             if (IN_param_value == NULL)
  5620               IN_param_value = function_call_param_iterator.next_nf();
  5620               IN_param_value = function_call_param_iterator.next_nf();
  5628         
  5628         
  5629                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5629                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5630                 
  5630                 
  5631                 if (IN_type_symbol == NULL)
  5631                 if (IN_type_symbol == NULL)
  5632                   IN_type_symbol = last_type_symbol;
  5632                   IN_type_symbol = last_type_symbol;
  5633                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5633                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5634                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  5634                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  5635                 function_type_prefix = return_type_symbol;
  5635                 function_type_prefix = return_type_symbol;
  5636                 break;
  5636                 break;
  5637                 
  5637                 
  5638             }
  5638             }
  5650     case function_tod_to_string :
  5650     case function_tod_to_string :
  5651     {
  5651     {
  5652         symbol_c *last_type_symbol = NULL;
  5652         symbol_c *last_type_symbol = NULL;
  5653 
  5653 
  5654         {
  5654         {
  5655             identifier_c IN_param_name("IN");
  5655             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5656             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5656             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5657             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5657             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5658             symbol_c *IN_type_symbol = NULL;
  5658             symbol_c *IN_type_symbol = NULL;
  5659             
  5659             
  5660             /* Get the value from a foo(<param_value>) style call */
  5660             /* Get the value from a foo(<param_value>) style call */
  5661             if (IN_param_value == NULL)
  5661             if (IN_param_value == NULL)
  5662               IN_param_value = function_call_param_iterator.next_nf();
  5662               IN_param_value = function_call_param_iterator.next_nf();
  5670         
  5670         
  5671                 function_name = (symbol_c*)(new pragma_c("__tod_to_string"));
  5671                 function_name = (symbol_c*)(new pragma_c("__tod_to_string"));
  5672                 
  5672                 
  5673                 if (IN_type_symbol == NULL)
  5673                 if (IN_type_symbol == NULL)
  5674                   IN_type_symbol = last_type_symbol;
  5674                   IN_type_symbol = last_type_symbol;
  5675                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5675                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5676                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  5676                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  5677                 function_type_prefix = return_type_symbol;
  5677                 function_type_prefix = return_type_symbol;
  5678                 break;
  5678                 break;
  5679                 
  5679                 
  5680             }
  5680             }
  5692     case function_tod_to_lword :
  5692     case function_tod_to_lword :
  5693     {
  5693     {
  5694         symbol_c *last_type_symbol = NULL;
  5694         symbol_c *last_type_symbol = NULL;
  5695 
  5695 
  5696         {
  5696         {
  5697             identifier_c IN_param_name("IN");
  5697             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5698             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5698             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5699             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5699             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5700             symbol_c *IN_type_symbol = NULL;
  5700             symbol_c *IN_type_symbol = NULL;
  5701             
  5701             
  5702             /* Get the value from a foo(<param_value>) style call */
  5702             /* Get the value from a foo(<param_value>) style call */
  5703             if (IN_param_value == NULL)
  5703             if (IN_param_value == NULL)
  5704               IN_param_value = function_call_param_iterator.next_nf();
  5704               IN_param_value = function_call_param_iterator.next_nf();
  5712         
  5712         
  5713                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5713                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5714                 
  5714                 
  5715                 if (IN_type_symbol == NULL)
  5715                 if (IN_type_symbol == NULL)
  5716                   IN_type_symbol = last_type_symbol;
  5716                   IN_type_symbol = last_type_symbol;
  5717                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5717                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5718                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  5718                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  5719                 function_type_prefix = return_type_symbol;
  5719                 function_type_prefix = return_type_symbol;
  5720                 break;
  5720                 break;
  5721                 
  5721                 
  5722             }
  5722             }
  5734     case function_tod_to_uint :
  5734     case function_tod_to_uint :
  5735     {
  5735     {
  5736         symbol_c *last_type_symbol = NULL;
  5736         symbol_c *last_type_symbol = NULL;
  5737 
  5737 
  5738         {
  5738         {
  5739             identifier_c IN_param_name("IN");
  5739             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5740             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5740             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5741             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5741             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5742             symbol_c *IN_type_symbol = NULL;
  5742             symbol_c *IN_type_symbol = NULL;
  5743             
  5743             
  5744             /* Get the value from a foo(<param_value>) style call */
  5744             /* Get the value from a foo(<param_value>) style call */
  5745             if (IN_param_value == NULL)
  5745             if (IN_param_value == NULL)
  5746               IN_param_value = function_call_param_iterator.next_nf();
  5746               IN_param_value = function_call_param_iterator.next_nf();
  5754         
  5754         
  5755                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5755                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5756                 
  5756                 
  5757                 if (IN_type_symbol == NULL)
  5757                 if (IN_type_symbol == NULL)
  5758                   IN_type_symbol = last_type_symbol;
  5758                   IN_type_symbol = last_type_symbol;
  5759                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5759                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5760                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  5760                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  5761                 function_type_prefix = return_type_symbol;
  5761                 function_type_prefix = return_type_symbol;
  5762                 break;
  5762                 break;
  5763                 
  5763                 
  5764             }
  5764             }
  5776     case function_tod_to_lreal :
  5776     case function_tod_to_lreal :
  5777     {
  5777     {
  5778         symbol_c *last_type_symbol = NULL;
  5778         symbol_c *last_type_symbol = NULL;
  5779 
  5779 
  5780         {
  5780         {
  5781             identifier_c IN_param_name("IN");
  5781             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5782             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5782             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5783             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5783             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5784             symbol_c *IN_type_symbol = NULL;
  5784             symbol_c *IN_type_symbol = NULL;
  5785             
  5785             
  5786             /* Get the value from a foo(<param_value>) style call */
  5786             /* Get the value from a foo(<param_value>) style call */
  5787             if (IN_param_value == NULL)
  5787             if (IN_param_value == NULL)
  5788               IN_param_value = function_call_param_iterator.next_nf();
  5788               IN_param_value = function_call_param_iterator.next_nf();
  5796         
  5796         
  5797                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
  5797                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
  5798                 
  5798                 
  5799                 if (IN_type_symbol == NULL)
  5799                 if (IN_type_symbol == NULL)
  5800                   IN_type_symbol = last_type_symbol;
  5800                   IN_type_symbol = last_type_symbol;
  5801                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5801                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5802                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  5802                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  5803                 function_type_prefix = return_type_symbol;
  5803                 function_type_prefix = return_type_symbol;
  5804                 break;
  5804                 break;
  5805                 
  5805                 
  5806             }
  5806             }
  5818     case function_tod_to_byte :
  5818     case function_tod_to_byte :
  5819     {
  5819     {
  5820         symbol_c *last_type_symbol = NULL;
  5820         symbol_c *last_type_symbol = NULL;
  5821 
  5821 
  5822         {
  5822         {
  5823             identifier_c IN_param_name("IN");
  5823             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5824             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5824             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5825             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5825             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5826             symbol_c *IN_type_symbol = NULL;
  5826             symbol_c *IN_type_symbol = NULL;
  5827             
  5827             
  5828             /* Get the value from a foo(<param_value>) style call */
  5828             /* Get the value from a foo(<param_value>) style call */
  5829             if (IN_param_value == NULL)
  5829             if (IN_param_value == NULL)
  5830               IN_param_value = function_call_param_iterator.next_nf();
  5830               IN_param_value = function_call_param_iterator.next_nf();
  5838         
  5838         
  5839                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5839                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5840                 
  5840                 
  5841                 if (IN_type_symbol == NULL)
  5841                 if (IN_type_symbol == NULL)
  5842                   IN_type_symbol = last_type_symbol;
  5842                   IN_type_symbol = last_type_symbol;
  5843                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5843                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5844                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  5844                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  5845                 function_type_prefix = return_type_symbol;
  5845                 function_type_prefix = return_type_symbol;
  5846                 break;
  5846                 break;
  5847                 
  5847                 
  5848             }
  5848             }
  5860     case function_tod_to_usint :
  5860     case function_tod_to_usint :
  5861     {
  5861     {
  5862         symbol_c *last_type_symbol = NULL;
  5862         symbol_c *last_type_symbol = NULL;
  5863 
  5863 
  5864         {
  5864         {
  5865             identifier_c IN_param_name("IN");
  5865             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5866             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5866             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5867             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5867             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5868             symbol_c *IN_type_symbol = NULL;
  5868             symbol_c *IN_type_symbol = NULL;
  5869             
  5869             
  5870             /* Get the value from a foo(<param_value>) style call */
  5870             /* Get the value from a foo(<param_value>) style call */
  5871             if (IN_param_value == NULL)
  5871             if (IN_param_value == NULL)
  5872               IN_param_value = function_call_param_iterator.next_nf();
  5872               IN_param_value = function_call_param_iterator.next_nf();
  5880         
  5880         
  5881                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5881                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5882                 
  5882                 
  5883                 if (IN_type_symbol == NULL)
  5883                 if (IN_type_symbol == NULL)
  5884                   IN_type_symbol = last_type_symbol;
  5884                   IN_type_symbol = last_type_symbol;
  5885                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5885                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5886                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  5886                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  5887                 function_type_prefix = return_type_symbol;
  5887                 function_type_prefix = return_type_symbol;
  5888                 break;
  5888                 break;
  5889                 
  5889                 
  5890             }
  5890             }
  5902     case function_tod_to_ulint :
  5902     case function_tod_to_ulint :
  5903     {
  5903     {
  5904         symbol_c *last_type_symbol = NULL;
  5904         symbol_c *last_type_symbol = NULL;
  5905 
  5905 
  5906         {
  5906         {
  5907             identifier_c IN_param_name("IN");
  5907             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5908             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5908             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5909             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5909             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5910             symbol_c *IN_type_symbol = NULL;
  5910             symbol_c *IN_type_symbol = NULL;
  5911             
  5911             
  5912             /* Get the value from a foo(<param_value>) style call */
  5912             /* Get the value from a foo(<param_value>) style call */
  5913             if (IN_param_value == NULL)
  5913             if (IN_param_value == NULL)
  5914               IN_param_value = function_call_param_iterator.next_nf();
  5914               IN_param_value = function_call_param_iterator.next_nf();
  5922         
  5922         
  5923                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5923                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5924                 
  5924                 
  5925                 if (IN_type_symbol == NULL)
  5925                 if (IN_type_symbol == NULL)
  5926                   IN_type_symbol = last_type_symbol;
  5926                   IN_type_symbol = last_type_symbol;
  5927                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5927                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5928                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  5928                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  5929                 function_type_prefix = return_type_symbol;
  5929                 function_type_prefix = return_type_symbol;
  5930                 break;
  5930                 break;
  5931                 
  5931                 
  5932             }
  5932             }
  5944     case function_tod_to_int :
  5944     case function_tod_to_int :
  5945     {
  5945     {
  5946         symbol_c *last_type_symbol = NULL;
  5946         symbol_c *last_type_symbol = NULL;
  5947 
  5947 
  5948         {
  5948         {
  5949             identifier_c IN_param_name("IN");
  5949             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5950             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5950             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5951             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5951             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5952             symbol_c *IN_type_symbol = NULL;
  5952             symbol_c *IN_type_symbol = NULL;
  5953             
  5953             
  5954             /* Get the value from a foo(<param_value>) style call */
  5954             /* Get the value from a foo(<param_value>) style call */
  5955             if (IN_param_value == NULL)
  5955             if (IN_param_value == NULL)
  5956               IN_param_value = function_call_param_iterator.next_nf();
  5956               IN_param_value = function_call_param_iterator.next_nf();
  5964         
  5964         
  5965                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5965                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
  5966                 
  5966                 
  5967                 if (IN_type_symbol == NULL)
  5967                 if (IN_type_symbol == NULL)
  5968                   IN_type_symbol = last_type_symbol;
  5968                   IN_type_symbol = last_type_symbol;
  5969                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5969                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  5970                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  5970                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  5971                 function_type_prefix = return_type_symbol;
  5971                 function_type_prefix = return_type_symbol;
  5972                 break;
  5972                 break;
  5973                 
  5973                 
  5974             }
  5974             }
  5986     case function_udint_to_real :
  5986     case function_udint_to_real :
  5987     {
  5987     {
  5988         symbol_c *last_type_symbol = NULL;
  5988         symbol_c *last_type_symbol = NULL;
  5989 
  5989 
  5990         {
  5990         {
  5991             identifier_c IN_param_name("IN");
  5991             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  5992             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5992             /* Get the value from a foo(<param_name> = <param_value>) style call */
  5993             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  5993             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  5994             symbol_c *IN_type_symbol = NULL;
  5994             symbol_c *IN_type_symbol = NULL;
  5995             
  5995             
  5996             /* Get the value from a foo(<param_value>) style call */
  5996             /* Get the value from a foo(<param_value>) style call */
  5997             if (IN_param_value == NULL)
  5997             if (IN_param_value == NULL)
  5998               IN_param_value = function_call_param_iterator.next_nf();
  5998               IN_param_value = function_call_param_iterator.next_nf();
  6006         
  6006         
  6007                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6007                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6008                 
  6008                 
  6009                 if (IN_type_symbol == NULL)
  6009                 if (IN_type_symbol == NULL)
  6010                   IN_type_symbol = last_type_symbol;
  6010                   IN_type_symbol = last_type_symbol;
  6011                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6011                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6012                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  6012                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  6013                 function_type_prefix = return_type_symbol;
  6013                 function_type_prefix = return_type_symbol;
  6014                 function_type_suffix = IN_type_symbol;
  6014                 function_type_suffix = IN_type_symbol;
  6015                 break;
  6015                 break;
  6016                 
  6016                 
  6029     case function_udint_to_sint :
  6029     case function_udint_to_sint :
  6030     {
  6030     {
  6031         symbol_c *last_type_symbol = NULL;
  6031         symbol_c *last_type_symbol = NULL;
  6032 
  6032 
  6033         {
  6033         {
  6034             identifier_c IN_param_name("IN");
  6034             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6035             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6035             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6036             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6036             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6037             symbol_c *IN_type_symbol = NULL;
  6037             symbol_c *IN_type_symbol = NULL;
  6038             
  6038             
  6039             /* Get the value from a foo(<param_value>) style call */
  6039             /* Get the value from a foo(<param_value>) style call */
  6040             if (IN_param_value == NULL)
  6040             if (IN_param_value == NULL)
  6041               IN_param_value = function_call_param_iterator.next_nf();
  6041               IN_param_value = function_call_param_iterator.next_nf();
  6049         
  6049         
  6050                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6050                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6051                 
  6051                 
  6052                 if (IN_type_symbol == NULL)
  6052                 if (IN_type_symbol == NULL)
  6053                   IN_type_symbol = last_type_symbol;
  6053                   IN_type_symbol = last_type_symbol;
  6054                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6054                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6055                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  6055                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  6056                 function_type_prefix = return_type_symbol;
  6056                 function_type_prefix = return_type_symbol;
  6057                 function_type_suffix = IN_type_symbol;
  6057                 function_type_suffix = IN_type_symbol;
  6058                 break;
  6058                 break;
  6059                 
  6059                 
  6072     case function_udint_to_lint :
  6072     case function_udint_to_lint :
  6073     {
  6073     {
  6074         symbol_c *last_type_symbol = NULL;
  6074         symbol_c *last_type_symbol = NULL;
  6075 
  6075 
  6076         {
  6076         {
  6077             identifier_c IN_param_name("IN");
  6077             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6078             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6078             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6079             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6079             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6080             symbol_c *IN_type_symbol = NULL;
  6080             symbol_c *IN_type_symbol = NULL;
  6081             
  6081             
  6082             /* Get the value from a foo(<param_value>) style call */
  6082             /* Get the value from a foo(<param_value>) style call */
  6083             if (IN_param_value == NULL)
  6083             if (IN_param_value == NULL)
  6084               IN_param_value = function_call_param_iterator.next_nf();
  6084               IN_param_value = function_call_param_iterator.next_nf();
  6092         
  6092         
  6093                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6093                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6094                 
  6094                 
  6095                 if (IN_type_symbol == NULL)
  6095                 if (IN_type_symbol == NULL)
  6096                   IN_type_symbol = last_type_symbol;
  6096                   IN_type_symbol = last_type_symbol;
  6097                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6097                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6098                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  6098                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  6099                 function_type_prefix = return_type_symbol;
  6099                 function_type_prefix = return_type_symbol;
  6100                 function_type_suffix = IN_type_symbol;
  6100                 function_type_suffix = IN_type_symbol;
  6101                 break;
  6101                 break;
  6102                 
  6102                 
  6115     case function_udint_to_dint :
  6115     case function_udint_to_dint :
  6116     {
  6116     {
  6117         symbol_c *last_type_symbol = NULL;
  6117         symbol_c *last_type_symbol = NULL;
  6118 
  6118 
  6119         {
  6119         {
  6120             identifier_c IN_param_name("IN");
  6120             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6121             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6121             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6122             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6122             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6123             symbol_c *IN_type_symbol = NULL;
  6123             symbol_c *IN_type_symbol = NULL;
  6124             
  6124             
  6125             /* Get the value from a foo(<param_value>) style call */
  6125             /* Get the value from a foo(<param_value>) style call */
  6126             if (IN_param_value == NULL)
  6126             if (IN_param_value == NULL)
  6127               IN_param_value = function_call_param_iterator.next_nf();
  6127               IN_param_value = function_call_param_iterator.next_nf();
  6135         
  6135         
  6136                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6136                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6137                 
  6137                 
  6138                 if (IN_type_symbol == NULL)
  6138                 if (IN_type_symbol == NULL)
  6139                   IN_type_symbol = last_type_symbol;
  6139                   IN_type_symbol = last_type_symbol;
  6140                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6140                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6141                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  6141                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  6142                 function_type_prefix = return_type_symbol;
  6142                 function_type_prefix = return_type_symbol;
  6143                 function_type_suffix = IN_type_symbol;
  6143                 function_type_suffix = IN_type_symbol;
  6144                 break;
  6144                 break;
  6145                 
  6145                 
  6158     case function_udint_to_date :
  6158     case function_udint_to_date :
  6159     {
  6159     {
  6160         symbol_c *last_type_symbol = NULL;
  6160         symbol_c *last_type_symbol = NULL;
  6161 
  6161 
  6162         {
  6162         {
  6163             identifier_c IN_param_name("IN");
  6163             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6164             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6164             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6165             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6165             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6166             symbol_c *IN_type_symbol = NULL;
  6166             symbol_c *IN_type_symbol = NULL;
  6167             
  6167             
  6168             /* Get the value from a foo(<param_value>) style call */
  6168             /* Get the value from a foo(<param_value>) style call */
  6169             if (IN_param_value == NULL)
  6169             if (IN_param_value == NULL)
  6170               IN_param_value = function_call_param_iterator.next_nf();
  6170               IN_param_value = function_call_param_iterator.next_nf();
  6178         
  6178         
  6179                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  6179                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  6180                 
  6180                 
  6181                 if (IN_type_symbol == NULL)
  6181                 if (IN_type_symbol == NULL)
  6182                   IN_type_symbol = last_type_symbol;
  6182                   IN_type_symbol = last_type_symbol;
  6183                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6183                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6184                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  6184                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  6185                 function_type_prefix = return_type_symbol;
  6185                 function_type_prefix = return_type_symbol;
  6186                 break;
  6186                 break;
  6187                 
  6187                 
  6188             }
  6188             }
  6200     case function_udint_to_dword :
  6200     case function_udint_to_dword :
  6201     {
  6201     {
  6202         symbol_c *last_type_symbol = NULL;
  6202         symbol_c *last_type_symbol = NULL;
  6203 
  6203 
  6204         {
  6204         {
  6205             identifier_c IN_param_name("IN");
  6205             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6206             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6206             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6207             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6207             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6208             symbol_c *IN_type_symbol = NULL;
  6208             symbol_c *IN_type_symbol = NULL;
  6209             
  6209             
  6210             /* Get the value from a foo(<param_value>) style call */
  6210             /* Get the value from a foo(<param_value>) style call */
  6211             if (IN_param_value == NULL)
  6211             if (IN_param_value == NULL)
  6212               IN_param_value = function_call_param_iterator.next_nf();
  6212               IN_param_value = function_call_param_iterator.next_nf();
  6220         
  6220         
  6221                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6221                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6222                 
  6222                 
  6223                 if (IN_type_symbol == NULL)
  6223                 if (IN_type_symbol == NULL)
  6224                   IN_type_symbol = last_type_symbol;
  6224                   IN_type_symbol = last_type_symbol;
  6225                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6225                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6226                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  6226                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  6227                 function_type_prefix = return_type_symbol;
  6227                 function_type_prefix = return_type_symbol;
  6228                 function_type_suffix = IN_type_symbol;
  6228                 function_type_suffix = IN_type_symbol;
  6229                 break;
  6229                 break;
  6230                 
  6230                 
  6243     case function_udint_to_dt :
  6243     case function_udint_to_dt :
  6244     {
  6244     {
  6245         symbol_c *last_type_symbol = NULL;
  6245         symbol_c *last_type_symbol = NULL;
  6246 
  6246 
  6247         {
  6247         {
  6248             identifier_c IN_param_name("IN");
  6248             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6249             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6249             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6250             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6250             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6251             symbol_c *IN_type_symbol = NULL;
  6251             symbol_c *IN_type_symbol = NULL;
  6252             
  6252             
  6253             /* Get the value from a foo(<param_value>) style call */
  6253             /* Get the value from a foo(<param_value>) style call */
  6254             if (IN_param_value == NULL)
  6254             if (IN_param_value == NULL)
  6255               IN_param_value = function_call_param_iterator.next_nf();
  6255               IN_param_value = function_call_param_iterator.next_nf();
  6263         
  6263         
  6264                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  6264                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  6265                 
  6265                 
  6266                 if (IN_type_symbol == NULL)
  6266                 if (IN_type_symbol == NULL)
  6267                   IN_type_symbol = last_type_symbol;
  6267                   IN_type_symbol = last_type_symbol;
  6268                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6268                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6269                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  6269                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  6270                 function_type_prefix = return_type_symbol;
  6270                 function_type_prefix = return_type_symbol;
  6271                 break;
  6271                 break;
  6272                 
  6272                 
  6273             }
  6273             }
  6285     case function_udint_to_tod :
  6285     case function_udint_to_tod :
  6286     {
  6286     {
  6287         symbol_c *last_type_symbol = NULL;
  6287         symbol_c *last_type_symbol = NULL;
  6288 
  6288 
  6289         {
  6289         {
  6290             identifier_c IN_param_name("IN");
  6290             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6291             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6291             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6292             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6292             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6293             symbol_c *IN_type_symbol = NULL;
  6293             symbol_c *IN_type_symbol = NULL;
  6294             
  6294             
  6295             /* Get the value from a foo(<param_value>) style call */
  6295             /* Get the value from a foo(<param_value>) style call */
  6296             if (IN_param_value == NULL)
  6296             if (IN_param_value == NULL)
  6297               IN_param_value = function_call_param_iterator.next_nf();
  6297               IN_param_value = function_call_param_iterator.next_nf();
  6305         
  6305         
  6306                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  6306                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  6307                 
  6307                 
  6308                 if (IN_type_symbol == NULL)
  6308                 if (IN_type_symbol == NULL)
  6309                   IN_type_symbol = last_type_symbol;
  6309                   IN_type_symbol = last_type_symbol;
  6310                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6310                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6311                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  6311                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  6312                 function_type_prefix = return_type_symbol;
  6312                 function_type_prefix = return_type_symbol;
  6313                 break;
  6313                 break;
  6314                 
  6314                 
  6315             }
  6315             }
  6327     case function_udint_to_word :
  6327     case function_udint_to_word :
  6328     {
  6328     {
  6329         symbol_c *last_type_symbol = NULL;
  6329         symbol_c *last_type_symbol = NULL;
  6330 
  6330 
  6331         {
  6331         {
  6332             identifier_c IN_param_name("IN");
  6332             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6333             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6333             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6334             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6334             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6335             symbol_c *IN_type_symbol = NULL;
  6335             symbol_c *IN_type_symbol = NULL;
  6336             
  6336             
  6337             /* Get the value from a foo(<param_value>) style call */
  6337             /* Get the value from a foo(<param_value>) style call */
  6338             if (IN_param_value == NULL)
  6338             if (IN_param_value == NULL)
  6339               IN_param_value = function_call_param_iterator.next_nf();
  6339               IN_param_value = function_call_param_iterator.next_nf();
  6347         
  6347         
  6348                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6348                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6349                 
  6349                 
  6350                 if (IN_type_symbol == NULL)
  6350                 if (IN_type_symbol == NULL)
  6351                   IN_type_symbol = last_type_symbol;
  6351                   IN_type_symbol = last_type_symbol;
  6352                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6352                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6353                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  6353                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  6354                 function_type_prefix = return_type_symbol;
  6354                 function_type_prefix = return_type_symbol;
  6355                 function_type_suffix = IN_type_symbol;
  6355                 function_type_suffix = IN_type_symbol;
  6356                 break;
  6356                 break;
  6357                 
  6357                 
  6370     case function_udint_to_string :
  6370     case function_udint_to_string :
  6371     {
  6371     {
  6372         symbol_c *last_type_symbol = NULL;
  6372         symbol_c *last_type_symbol = NULL;
  6373 
  6373 
  6374         {
  6374         {
  6375             identifier_c IN_param_name("IN");
  6375             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6376             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6376             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6377             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6377             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6378             symbol_c *IN_type_symbol = NULL;
  6378             symbol_c *IN_type_symbol = NULL;
  6379             
  6379             
  6380             /* Get the value from a foo(<param_value>) style call */
  6380             /* Get the value from a foo(<param_value>) style call */
  6381             if (IN_param_value == NULL)
  6381             if (IN_param_value == NULL)
  6382               IN_param_value = function_call_param_iterator.next_nf();
  6382               IN_param_value = function_call_param_iterator.next_nf();
  6390         
  6390         
  6391                 function_name = (symbol_c*)(new pragma_c("__uint_to_string"));
  6391                 function_name = (symbol_c*)(new pragma_c("__uint_to_string"));
  6392                 
  6392                 
  6393                 if (IN_type_symbol == NULL)
  6393                 if (IN_type_symbol == NULL)
  6394                   IN_type_symbol = last_type_symbol;
  6394                   IN_type_symbol = last_type_symbol;
  6395                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6395                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6396                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  6396                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  6397                 function_type_prefix = return_type_symbol;
  6397                 function_type_prefix = return_type_symbol;
  6398                 break;
  6398                 break;
  6399                 
  6399                 
  6400             }
  6400             }
  6412     case function_udint_to_lword :
  6412     case function_udint_to_lword :
  6413     {
  6413     {
  6414         symbol_c *last_type_symbol = NULL;
  6414         symbol_c *last_type_symbol = NULL;
  6415 
  6415 
  6416         {
  6416         {
  6417             identifier_c IN_param_name("IN");
  6417             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6418             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6418             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6419             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6419             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6420             symbol_c *IN_type_symbol = NULL;
  6420             symbol_c *IN_type_symbol = NULL;
  6421             
  6421             
  6422             /* Get the value from a foo(<param_value>) style call */
  6422             /* Get the value from a foo(<param_value>) style call */
  6423             if (IN_param_value == NULL)
  6423             if (IN_param_value == NULL)
  6424               IN_param_value = function_call_param_iterator.next_nf();
  6424               IN_param_value = function_call_param_iterator.next_nf();
  6432         
  6432         
  6433                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6433                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6434                 
  6434                 
  6435                 if (IN_type_symbol == NULL)
  6435                 if (IN_type_symbol == NULL)
  6436                   IN_type_symbol = last_type_symbol;
  6436                   IN_type_symbol = last_type_symbol;
  6437                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6437                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6438                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  6438                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  6439                 function_type_prefix = return_type_symbol;
  6439                 function_type_prefix = return_type_symbol;
  6440                 function_type_suffix = IN_type_symbol;
  6440                 function_type_suffix = IN_type_symbol;
  6441                 break;
  6441                 break;
  6442                 
  6442                 
  6455     case function_udint_to_uint :
  6455     case function_udint_to_uint :
  6456     {
  6456     {
  6457         symbol_c *last_type_symbol = NULL;
  6457         symbol_c *last_type_symbol = NULL;
  6458 
  6458 
  6459         {
  6459         {
  6460             identifier_c IN_param_name("IN");
  6460             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6461             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6461             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6462             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6462             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6463             symbol_c *IN_type_symbol = NULL;
  6463             symbol_c *IN_type_symbol = NULL;
  6464             
  6464             
  6465             /* Get the value from a foo(<param_value>) style call */
  6465             /* Get the value from a foo(<param_value>) style call */
  6466             if (IN_param_value == NULL)
  6466             if (IN_param_value == NULL)
  6467               IN_param_value = function_call_param_iterator.next_nf();
  6467               IN_param_value = function_call_param_iterator.next_nf();
  6475         
  6475         
  6476                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6476                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6477                 
  6477                 
  6478                 if (IN_type_symbol == NULL)
  6478                 if (IN_type_symbol == NULL)
  6479                   IN_type_symbol = last_type_symbol;
  6479                   IN_type_symbol = last_type_symbol;
  6480                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6480                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6481                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  6481                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  6482                 function_type_prefix = return_type_symbol;
  6482                 function_type_prefix = return_type_symbol;
  6483                 function_type_suffix = IN_type_symbol;
  6483                 function_type_suffix = IN_type_symbol;
  6484                 break;
  6484                 break;
  6485                 
  6485                 
  6498     case function_udint_to_lreal :
  6498     case function_udint_to_lreal :
  6499     {
  6499     {
  6500         symbol_c *last_type_symbol = NULL;
  6500         symbol_c *last_type_symbol = NULL;
  6501 
  6501 
  6502         {
  6502         {
  6503             identifier_c IN_param_name("IN");
  6503             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6504             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6504             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6505             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6505             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6506             symbol_c *IN_type_symbol = NULL;
  6506             symbol_c *IN_type_symbol = NULL;
  6507             
  6507             
  6508             /* Get the value from a foo(<param_value>) style call */
  6508             /* Get the value from a foo(<param_value>) style call */
  6509             if (IN_param_value == NULL)
  6509             if (IN_param_value == NULL)
  6510               IN_param_value = function_call_param_iterator.next_nf();
  6510               IN_param_value = function_call_param_iterator.next_nf();
  6518         
  6518         
  6519                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6519                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6520                 
  6520                 
  6521                 if (IN_type_symbol == NULL)
  6521                 if (IN_type_symbol == NULL)
  6522                   IN_type_symbol = last_type_symbol;
  6522                   IN_type_symbol = last_type_symbol;
  6523                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6523                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6524                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  6524                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  6525                 function_type_prefix = return_type_symbol;
  6525                 function_type_prefix = return_type_symbol;
  6526                 function_type_suffix = IN_type_symbol;
  6526                 function_type_suffix = IN_type_symbol;
  6527                 break;
  6527                 break;
  6528                 
  6528                 
  6541     case function_udint_to_byte :
  6541     case function_udint_to_byte :
  6542     {
  6542     {
  6543         symbol_c *last_type_symbol = NULL;
  6543         symbol_c *last_type_symbol = NULL;
  6544 
  6544 
  6545         {
  6545         {
  6546             identifier_c IN_param_name("IN");
  6546             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6547             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6547             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6548             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6548             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6549             symbol_c *IN_type_symbol = NULL;
  6549             symbol_c *IN_type_symbol = NULL;
  6550             
  6550             
  6551             /* Get the value from a foo(<param_value>) style call */
  6551             /* Get the value from a foo(<param_value>) style call */
  6552             if (IN_param_value == NULL)
  6552             if (IN_param_value == NULL)
  6553               IN_param_value = function_call_param_iterator.next_nf();
  6553               IN_param_value = function_call_param_iterator.next_nf();
  6561         
  6561         
  6562                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6562                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6563                 
  6563                 
  6564                 if (IN_type_symbol == NULL)
  6564                 if (IN_type_symbol == NULL)
  6565                   IN_type_symbol = last_type_symbol;
  6565                   IN_type_symbol = last_type_symbol;
  6566                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6566                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6567                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  6567                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  6568                 function_type_prefix = return_type_symbol;
  6568                 function_type_prefix = return_type_symbol;
  6569                 function_type_suffix = IN_type_symbol;
  6569                 function_type_suffix = IN_type_symbol;
  6570                 break;
  6570                 break;
  6571                 
  6571                 
  6584     case function_udint_to_usint :
  6584     case function_udint_to_usint :
  6585     {
  6585     {
  6586         symbol_c *last_type_symbol = NULL;
  6586         symbol_c *last_type_symbol = NULL;
  6587 
  6587 
  6588         {
  6588         {
  6589             identifier_c IN_param_name("IN");
  6589             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6590             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6590             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6591             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6591             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6592             symbol_c *IN_type_symbol = NULL;
  6592             symbol_c *IN_type_symbol = NULL;
  6593             
  6593             
  6594             /* Get the value from a foo(<param_value>) style call */
  6594             /* Get the value from a foo(<param_value>) style call */
  6595             if (IN_param_value == NULL)
  6595             if (IN_param_value == NULL)
  6596               IN_param_value = function_call_param_iterator.next_nf();
  6596               IN_param_value = function_call_param_iterator.next_nf();
  6604         
  6604         
  6605                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6605                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6606                 
  6606                 
  6607                 if (IN_type_symbol == NULL)
  6607                 if (IN_type_symbol == NULL)
  6608                   IN_type_symbol = last_type_symbol;
  6608                   IN_type_symbol = last_type_symbol;
  6609                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6609                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6610                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  6610                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  6611                 function_type_prefix = return_type_symbol;
  6611                 function_type_prefix = return_type_symbol;
  6612                 function_type_suffix = IN_type_symbol;
  6612                 function_type_suffix = IN_type_symbol;
  6613                 break;
  6613                 break;
  6614                 
  6614                 
  6627     case function_udint_to_ulint :
  6627     case function_udint_to_ulint :
  6628     {
  6628     {
  6629         symbol_c *last_type_symbol = NULL;
  6629         symbol_c *last_type_symbol = NULL;
  6630 
  6630 
  6631         {
  6631         {
  6632             identifier_c IN_param_name("IN");
  6632             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6633             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6633             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6634             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6634             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6635             symbol_c *IN_type_symbol = NULL;
  6635             symbol_c *IN_type_symbol = NULL;
  6636             
  6636             
  6637             /* Get the value from a foo(<param_value>) style call */
  6637             /* Get the value from a foo(<param_value>) style call */
  6638             if (IN_param_value == NULL)
  6638             if (IN_param_value == NULL)
  6639               IN_param_value = function_call_param_iterator.next_nf();
  6639               IN_param_value = function_call_param_iterator.next_nf();
  6647         
  6647         
  6648                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6648                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6649                 
  6649                 
  6650                 if (IN_type_symbol == NULL)
  6650                 if (IN_type_symbol == NULL)
  6651                   IN_type_symbol = last_type_symbol;
  6651                   IN_type_symbol = last_type_symbol;
  6652                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6652                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6653                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  6653                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  6654                 function_type_prefix = return_type_symbol;
  6654                 function_type_prefix = return_type_symbol;
  6655                 function_type_suffix = IN_type_symbol;
  6655                 function_type_suffix = IN_type_symbol;
  6656                 break;
  6656                 break;
  6657                 
  6657                 
  6670     case function_udint_to_bool :
  6670     case function_udint_to_bool :
  6671     {
  6671     {
  6672         symbol_c *last_type_symbol = NULL;
  6672         symbol_c *last_type_symbol = NULL;
  6673 
  6673 
  6674         {
  6674         {
  6675             identifier_c IN_param_name("IN");
  6675             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6676             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6676             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6677             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6677             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6678             symbol_c *IN_type_symbol = NULL;
  6678             symbol_c *IN_type_symbol = NULL;
  6679             
  6679             
  6680             /* Get the value from a foo(<param_value>) style call */
  6680             /* Get the value from a foo(<param_value>) style call */
  6681             if (IN_param_value == NULL)
  6681             if (IN_param_value == NULL)
  6682               IN_param_value = function_call_param_iterator.next_nf();
  6682               IN_param_value = function_call_param_iterator.next_nf();
  6690         
  6690         
  6691                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6691                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6692                 
  6692                 
  6693                 if (IN_type_symbol == NULL)
  6693                 if (IN_type_symbol == NULL)
  6694                   IN_type_symbol = last_type_symbol;
  6694                   IN_type_symbol = last_type_symbol;
  6695                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6695                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6696                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  6696                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  6697                 function_type_prefix = return_type_symbol;
  6697                 function_type_prefix = return_type_symbol;
  6698                 function_type_suffix = IN_type_symbol;
  6698                 function_type_suffix = IN_type_symbol;
  6699                 break;
  6699                 break;
  6700                 
  6700                 
  6713     case function_udint_to_time :
  6713     case function_udint_to_time :
  6714     {
  6714     {
  6715         symbol_c *last_type_symbol = NULL;
  6715         symbol_c *last_type_symbol = NULL;
  6716 
  6716 
  6717         {
  6717         {
  6718             identifier_c IN_param_name("IN");
  6718             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6719             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6719             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6720             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6720             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6721             symbol_c *IN_type_symbol = NULL;
  6721             symbol_c *IN_type_symbol = NULL;
  6722             
  6722             
  6723             /* Get the value from a foo(<param_value>) style call */
  6723             /* Get the value from a foo(<param_value>) style call */
  6724             if (IN_param_value == NULL)
  6724             if (IN_param_value == NULL)
  6725               IN_param_value = function_call_param_iterator.next_nf();
  6725               IN_param_value = function_call_param_iterator.next_nf();
  6733         
  6733         
  6734                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  6734                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  6735                 
  6735                 
  6736                 if (IN_type_symbol == NULL)
  6736                 if (IN_type_symbol == NULL)
  6737                   IN_type_symbol = last_type_symbol;
  6737                   IN_type_symbol = last_type_symbol;
  6738                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6738                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6739                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  6739                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  6740                 function_type_prefix = return_type_symbol;
  6740                 function_type_prefix = return_type_symbol;
  6741                 break;
  6741                 break;
  6742                 
  6742                 
  6743             }
  6743             }
  6755     case function_udint_to_int :
  6755     case function_udint_to_int :
  6756     {
  6756     {
  6757         symbol_c *last_type_symbol = NULL;
  6757         symbol_c *last_type_symbol = NULL;
  6758 
  6758 
  6759         {
  6759         {
  6760             identifier_c IN_param_name("IN");
  6760             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6761             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6761             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6762             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6762             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6763             symbol_c *IN_type_symbol = NULL;
  6763             symbol_c *IN_type_symbol = NULL;
  6764             
  6764             
  6765             /* Get the value from a foo(<param_value>) style call */
  6765             /* Get the value from a foo(<param_value>) style call */
  6766             if (IN_param_value == NULL)
  6766             if (IN_param_value == NULL)
  6767               IN_param_value = function_call_param_iterator.next_nf();
  6767               IN_param_value = function_call_param_iterator.next_nf();
  6775         
  6775         
  6776                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6776                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6777                 
  6777                 
  6778                 if (IN_type_symbol == NULL)
  6778                 if (IN_type_symbol == NULL)
  6779                   IN_type_symbol = last_type_symbol;
  6779                   IN_type_symbol = last_type_symbol;
  6780                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6780                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6781                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  6781                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  6782                 function_type_prefix = return_type_symbol;
  6782                 function_type_prefix = return_type_symbol;
  6783                 function_type_suffix = IN_type_symbol;
  6783                 function_type_suffix = IN_type_symbol;
  6784                 break;
  6784                 break;
  6785                 
  6785                 
  6798     case function_word_to_real :
  6798     case function_word_to_real :
  6799     {
  6799     {
  6800         symbol_c *last_type_symbol = NULL;
  6800         symbol_c *last_type_symbol = NULL;
  6801 
  6801 
  6802         {
  6802         {
  6803             identifier_c IN_param_name("IN");
  6803             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6804             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6804             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6805             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6805             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6806             symbol_c *IN_type_symbol = NULL;
  6806             symbol_c *IN_type_symbol = NULL;
  6807             
  6807             
  6808             /* Get the value from a foo(<param_value>) style call */
  6808             /* Get the value from a foo(<param_value>) style call */
  6809             if (IN_param_value == NULL)
  6809             if (IN_param_value == NULL)
  6810               IN_param_value = function_call_param_iterator.next_nf();
  6810               IN_param_value = function_call_param_iterator.next_nf();
  6818         
  6818         
  6819                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6819                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6820                 
  6820                 
  6821                 if (IN_type_symbol == NULL)
  6821                 if (IN_type_symbol == NULL)
  6822                   IN_type_symbol = last_type_symbol;
  6822                   IN_type_symbol = last_type_symbol;
  6823                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6823                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6824                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  6824                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  6825                 function_type_prefix = return_type_symbol;
  6825                 function_type_prefix = return_type_symbol;
  6826                 function_type_suffix = IN_type_symbol;
  6826                 function_type_suffix = IN_type_symbol;
  6827                 break;
  6827                 break;
  6828                 
  6828                 
  6841     case function_word_to_sint :
  6841     case function_word_to_sint :
  6842     {
  6842     {
  6843         symbol_c *last_type_symbol = NULL;
  6843         symbol_c *last_type_symbol = NULL;
  6844 
  6844 
  6845         {
  6845         {
  6846             identifier_c IN_param_name("IN");
  6846             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6847             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6847             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6848             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6848             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6849             symbol_c *IN_type_symbol = NULL;
  6849             symbol_c *IN_type_symbol = NULL;
  6850             
  6850             
  6851             /* Get the value from a foo(<param_value>) style call */
  6851             /* Get the value from a foo(<param_value>) style call */
  6852             if (IN_param_value == NULL)
  6852             if (IN_param_value == NULL)
  6853               IN_param_value = function_call_param_iterator.next_nf();
  6853               IN_param_value = function_call_param_iterator.next_nf();
  6861         
  6861         
  6862                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6862                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6863                 
  6863                 
  6864                 if (IN_type_symbol == NULL)
  6864                 if (IN_type_symbol == NULL)
  6865                   IN_type_symbol = last_type_symbol;
  6865                   IN_type_symbol = last_type_symbol;
  6866                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6866                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6867                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  6867                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  6868                 function_type_prefix = return_type_symbol;
  6868                 function_type_prefix = return_type_symbol;
  6869                 function_type_suffix = IN_type_symbol;
  6869                 function_type_suffix = IN_type_symbol;
  6870                 break;
  6870                 break;
  6871                 
  6871                 
  6884     case function_word_to_lint :
  6884     case function_word_to_lint :
  6885     {
  6885     {
  6886         symbol_c *last_type_symbol = NULL;
  6886         symbol_c *last_type_symbol = NULL;
  6887 
  6887 
  6888         {
  6888         {
  6889             identifier_c IN_param_name("IN");
  6889             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6890             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6890             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6891             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6891             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6892             symbol_c *IN_type_symbol = NULL;
  6892             symbol_c *IN_type_symbol = NULL;
  6893             
  6893             
  6894             /* Get the value from a foo(<param_value>) style call */
  6894             /* Get the value from a foo(<param_value>) style call */
  6895             if (IN_param_value == NULL)
  6895             if (IN_param_value == NULL)
  6896               IN_param_value = function_call_param_iterator.next_nf();
  6896               IN_param_value = function_call_param_iterator.next_nf();
  6904         
  6904         
  6905                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6905                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6906                 
  6906                 
  6907                 if (IN_type_symbol == NULL)
  6907                 if (IN_type_symbol == NULL)
  6908                   IN_type_symbol = last_type_symbol;
  6908                   IN_type_symbol = last_type_symbol;
  6909                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6909                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6910                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  6910                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  6911                 function_type_prefix = return_type_symbol;
  6911                 function_type_prefix = return_type_symbol;
  6912                 function_type_suffix = IN_type_symbol;
  6912                 function_type_suffix = IN_type_symbol;
  6913                 break;
  6913                 break;
  6914                 
  6914                 
  6927     case function_word_to_dint :
  6927     case function_word_to_dint :
  6928     {
  6928     {
  6929         symbol_c *last_type_symbol = NULL;
  6929         symbol_c *last_type_symbol = NULL;
  6930 
  6930 
  6931         {
  6931         {
  6932             identifier_c IN_param_name("IN");
  6932             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6933             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6933             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6934             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6934             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6935             symbol_c *IN_type_symbol = NULL;
  6935             symbol_c *IN_type_symbol = NULL;
  6936             
  6936             
  6937             /* Get the value from a foo(<param_value>) style call */
  6937             /* Get the value from a foo(<param_value>) style call */
  6938             if (IN_param_value == NULL)
  6938             if (IN_param_value == NULL)
  6939               IN_param_value = function_call_param_iterator.next_nf();
  6939               IN_param_value = function_call_param_iterator.next_nf();
  6947         
  6947         
  6948                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6948                 function_name = (symbol_c*)(new pragma_c("__move_"));
  6949                 
  6949                 
  6950                 if (IN_type_symbol == NULL)
  6950                 if (IN_type_symbol == NULL)
  6951                   IN_type_symbol = last_type_symbol;
  6951                   IN_type_symbol = last_type_symbol;
  6952                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6952                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6953                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  6953                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  6954                 function_type_prefix = return_type_symbol;
  6954                 function_type_prefix = return_type_symbol;
  6955                 function_type_suffix = IN_type_symbol;
  6955                 function_type_suffix = IN_type_symbol;
  6956                 break;
  6956                 break;
  6957                 
  6957                 
  6970     case function_word_to_date :
  6970     case function_word_to_date :
  6971     {
  6971     {
  6972         symbol_c *last_type_symbol = NULL;
  6972         symbol_c *last_type_symbol = NULL;
  6973 
  6973 
  6974         {
  6974         {
  6975             identifier_c IN_param_name("IN");
  6975             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  6976             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6976             /* Get the value from a foo(<param_name> = <param_value>) style call */
  6977             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  6977             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  6978             symbol_c *IN_type_symbol = NULL;
  6978             symbol_c *IN_type_symbol = NULL;
  6979             
  6979             
  6980             /* Get the value from a foo(<param_value>) style call */
  6980             /* Get the value from a foo(<param_value>) style call */
  6981             if (IN_param_value == NULL)
  6981             if (IN_param_value == NULL)
  6982               IN_param_value = function_call_param_iterator.next_nf();
  6982               IN_param_value = function_call_param_iterator.next_nf();
  6990         
  6990         
  6991                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  6991                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  6992                 
  6992                 
  6993                 if (IN_type_symbol == NULL)
  6993                 if (IN_type_symbol == NULL)
  6994                   IN_type_symbol = last_type_symbol;
  6994                   IN_type_symbol = last_type_symbol;
  6995                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6995                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  6996                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  6996                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  6997                 function_type_prefix = return_type_symbol;
  6997                 function_type_prefix = return_type_symbol;
  6998                 break;
  6998                 break;
  6999                 
  6999                 
  7000             }
  7000             }
  7012     case function_word_to_dword :
  7012     case function_word_to_dword :
  7013     {
  7013     {
  7014         symbol_c *last_type_symbol = NULL;
  7014         symbol_c *last_type_symbol = NULL;
  7015 
  7015 
  7016         {
  7016         {
  7017             identifier_c IN_param_name("IN");
  7017             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7018             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7018             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7019             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7019             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7020             symbol_c *IN_type_symbol = NULL;
  7020             symbol_c *IN_type_symbol = NULL;
  7021             
  7021             
  7022             /* Get the value from a foo(<param_value>) style call */
  7022             /* Get the value from a foo(<param_value>) style call */
  7023             if (IN_param_value == NULL)
  7023             if (IN_param_value == NULL)
  7024               IN_param_value = function_call_param_iterator.next_nf();
  7024               IN_param_value = function_call_param_iterator.next_nf();
  7032         
  7032         
  7033                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7033                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7034                 
  7034                 
  7035                 if (IN_type_symbol == NULL)
  7035                 if (IN_type_symbol == NULL)
  7036                   IN_type_symbol = last_type_symbol;
  7036                   IN_type_symbol = last_type_symbol;
  7037                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7037                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7038                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  7038                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  7039                 function_type_prefix = return_type_symbol;
  7039                 function_type_prefix = return_type_symbol;
  7040                 function_type_suffix = IN_type_symbol;
  7040                 function_type_suffix = IN_type_symbol;
  7041                 break;
  7041                 break;
  7042                 
  7042                 
  7055     case function_word_to_dt :
  7055     case function_word_to_dt :
  7056     {
  7056     {
  7057         symbol_c *last_type_symbol = NULL;
  7057         symbol_c *last_type_symbol = NULL;
  7058 
  7058 
  7059         {
  7059         {
  7060             identifier_c IN_param_name("IN");
  7060             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7061             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7061             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7062             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7062             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7063             symbol_c *IN_type_symbol = NULL;
  7063             symbol_c *IN_type_symbol = NULL;
  7064             
  7064             
  7065             /* Get the value from a foo(<param_value>) style call */
  7065             /* Get the value from a foo(<param_value>) style call */
  7066             if (IN_param_value == NULL)
  7066             if (IN_param_value == NULL)
  7067               IN_param_value = function_call_param_iterator.next_nf();
  7067               IN_param_value = function_call_param_iterator.next_nf();
  7075         
  7075         
  7076                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  7076                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  7077                 
  7077                 
  7078                 if (IN_type_symbol == NULL)
  7078                 if (IN_type_symbol == NULL)
  7079                   IN_type_symbol = last_type_symbol;
  7079                   IN_type_symbol = last_type_symbol;
  7080                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7080                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7081                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  7081                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  7082                 function_type_prefix = return_type_symbol;
  7082                 function_type_prefix = return_type_symbol;
  7083                 break;
  7083                 break;
  7084                 
  7084                 
  7085             }
  7085             }
  7097     case function_word_to_tod :
  7097     case function_word_to_tod :
  7098     {
  7098     {
  7099         symbol_c *last_type_symbol = NULL;
  7099         symbol_c *last_type_symbol = NULL;
  7100 
  7100 
  7101         {
  7101         {
  7102             identifier_c IN_param_name("IN");
  7102             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7103             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7103             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7104             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7104             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7105             symbol_c *IN_type_symbol = NULL;
  7105             symbol_c *IN_type_symbol = NULL;
  7106             
  7106             
  7107             /* Get the value from a foo(<param_value>) style call */
  7107             /* Get the value from a foo(<param_value>) style call */
  7108             if (IN_param_value == NULL)
  7108             if (IN_param_value == NULL)
  7109               IN_param_value = function_call_param_iterator.next_nf();
  7109               IN_param_value = function_call_param_iterator.next_nf();
  7117         
  7117         
  7118                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  7118                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  7119                 
  7119                 
  7120                 if (IN_type_symbol == NULL)
  7120                 if (IN_type_symbol == NULL)
  7121                   IN_type_symbol = last_type_symbol;
  7121                   IN_type_symbol = last_type_symbol;
  7122                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7122                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7123                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  7123                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  7124                 function_type_prefix = return_type_symbol;
  7124                 function_type_prefix = return_type_symbol;
  7125                 break;
  7125                 break;
  7126                 
  7126                 
  7127             }
  7127             }
  7139     case function_word_to_udint :
  7139     case function_word_to_udint :
  7140     {
  7140     {
  7141         symbol_c *last_type_symbol = NULL;
  7141         symbol_c *last_type_symbol = NULL;
  7142 
  7142 
  7143         {
  7143         {
  7144             identifier_c IN_param_name("IN");
  7144             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7145             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7145             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7146             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7146             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7147             symbol_c *IN_type_symbol = NULL;
  7147             symbol_c *IN_type_symbol = NULL;
  7148             
  7148             
  7149             /* Get the value from a foo(<param_value>) style call */
  7149             /* Get the value from a foo(<param_value>) style call */
  7150             if (IN_param_value == NULL)
  7150             if (IN_param_value == NULL)
  7151               IN_param_value = function_call_param_iterator.next_nf();
  7151               IN_param_value = function_call_param_iterator.next_nf();
  7159         
  7159         
  7160                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7160                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7161                 
  7161                 
  7162                 if (IN_type_symbol == NULL)
  7162                 if (IN_type_symbol == NULL)
  7163                   IN_type_symbol = last_type_symbol;
  7163                   IN_type_symbol = last_type_symbol;
  7164                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7164                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7165                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  7165                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  7166                 function_type_prefix = return_type_symbol;
  7166                 function_type_prefix = return_type_symbol;
  7167                 function_type_suffix = IN_type_symbol;
  7167                 function_type_suffix = IN_type_symbol;
  7168                 break;
  7168                 break;
  7169                 
  7169                 
  7182     case function_word_to_string :
  7182     case function_word_to_string :
  7183     {
  7183     {
  7184         symbol_c *last_type_symbol = NULL;
  7184         symbol_c *last_type_symbol = NULL;
  7185 
  7185 
  7186         {
  7186         {
  7187             identifier_c IN_param_name("IN");
  7187             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7188             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7188             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7189             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7189             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7190             symbol_c *IN_type_symbol = NULL;
  7190             symbol_c *IN_type_symbol = NULL;
  7191             
  7191             
  7192             /* Get the value from a foo(<param_value>) style call */
  7192             /* Get the value from a foo(<param_value>) style call */
  7193             if (IN_param_value == NULL)
  7193             if (IN_param_value == NULL)
  7194               IN_param_value = function_call_param_iterator.next_nf();
  7194               IN_param_value = function_call_param_iterator.next_nf();
  7202         
  7202         
  7203                 function_name = (symbol_c*)(new pragma_c("__bit_to_string"));
  7203                 function_name = (symbol_c*)(new pragma_c("__bit_to_string"));
  7204                 
  7204                 
  7205                 if (IN_type_symbol == NULL)
  7205                 if (IN_type_symbol == NULL)
  7206                   IN_type_symbol = last_type_symbol;
  7206                   IN_type_symbol = last_type_symbol;
  7207                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7207                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7208                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  7208                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  7209                 function_type_prefix = return_type_symbol;
  7209                 function_type_prefix = return_type_symbol;
  7210                 break;
  7210                 break;
  7211                 
  7211                 
  7212             }
  7212             }
  7224     case function_word_to_lword :
  7224     case function_word_to_lword :
  7225     {
  7225     {
  7226         symbol_c *last_type_symbol = NULL;
  7226         symbol_c *last_type_symbol = NULL;
  7227 
  7227 
  7228         {
  7228         {
  7229             identifier_c IN_param_name("IN");
  7229             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7230             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7230             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7231             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7231             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7232             symbol_c *IN_type_symbol = NULL;
  7232             symbol_c *IN_type_symbol = NULL;
  7233             
  7233             
  7234             /* Get the value from a foo(<param_value>) style call */
  7234             /* Get the value from a foo(<param_value>) style call */
  7235             if (IN_param_value == NULL)
  7235             if (IN_param_value == NULL)
  7236               IN_param_value = function_call_param_iterator.next_nf();
  7236               IN_param_value = function_call_param_iterator.next_nf();
  7244         
  7244         
  7245                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7245                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7246                 
  7246                 
  7247                 if (IN_type_symbol == NULL)
  7247                 if (IN_type_symbol == NULL)
  7248                   IN_type_symbol = last_type_symbol;
  7248                   IN_type_symbol = last_type_symbol;
  7249                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7249                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7250                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  7250                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  7251                 function_type_prefix = return_type_symbol;
  7251                 function_type_prefix = return_type_symbol;
  7252                 function_type_suffix = IN_type_symbol;
  7252                 function_type_suffix = IN_type_symbol;
  7253                 break;
  7253                 break;
  7254                 
  7254                 
  7267     case function_word_to_uint :
  7267     case function_word_to_uint :
  7268     {
  7268     {
  7269         symbol_c *last_type_symbol = NULL;
  7269         symbol_c *last_type_symbol = NULL;
  7270 
  7270 
  7271         {
  7271         {
  7272             identifier_c IN_param_name("IN");
  7272             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7273             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7273             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7274             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7274             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7275             symbol_c *IN_type_symbol = NULL;
  7275             symbol_c *IN_type_symbol = NULL;
  7276             
  7276             
  7277             /* Get the value from a foo(<param_value>) style call */
  7277             /* Get the value from a foo(<param_value>) style call */
  7278             if (IN_param_value == NULL)
  7278             if (IN_param_value == NULL)
  7279               IN_param_value = function_call_param_iterator.next_nf();
  7279               IN_param_value = function_call_param_iterator.next_nf();
  7287         
  7287         
  7288                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7288                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7289                 
  7289                 
  7290                 if (IN_type_symbol == NULL)
  7290                 if (IN_type_symbol == NULL)
  7291                   IN_type_symbol = last_type_symbol;
  7291                   IN_type_symbol = last_type_symbol;
  7292                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7292                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7293                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  7293                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  7294                 function_type_prefix = return_type_symbol;
  7294                 function_type_prefix = return_type_symbol;
  7295                 function_type_suffix = IN_type_symbol;
  7295                 function_type_suffix = IN_type_symbol;
  7296                 break;
  7296                 break;
  7297                 
  7297                 
  7310     case function_word_to_lreal :
  7310     case function_word_to_lreal :
  7311     {
  7311     {
  7312         symbol_c *last_type_symbol = NULL;
  7312         symbol_c *last_type_symbol = NULL;
  7313 
  7313 
  7314         {
  7314         {
  7315             identifier_c IN_param_name("IN");
  7315             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7316             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7316             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7317             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7317             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7318             symbol_c *IN_type_symbol = NULL;
  7318             symbol_c *IN_type_symbol = NULL;
  7319             
  7319             
  7320             /* Get the value from a foo(<param_value>) style call */
  7320             /* Get the value from a foo(<param_value>) style call */
  7321             if (IN_param_value == NULL)
  7321             if (IN_param_value == NULL)
  7322               IN_param_value = function_call_param_iterator.next_nf();
  7322               IN_param_value = function_call_param_iterator.next_nf();
  7330         
  7330         
  7331                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7331                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7332                 
  7332                 
  7333                 if (IN_type_symbol == NULL)
  7333                 if (IN_type_symbol == NULL)
  7334                   IN_type_symbol = last_type_symbol;
  7334                   IN_type_symbol = last_type_symbol;
  7335                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7335                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7336                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  7336                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  7337                 function_type_prefix = return_type_symbol;
  7337                 function_type_prefix = return_type_symbol;
  7338                 function_type_suffix = IN_type_symbol;
  7338                 function_type_suffix = IN_type_symbol;
  7339                 break;
  7339                 break;
  7340                 
  7340                 
  7353     case function_word_to_byte :
  7353     case function_word_to_byte :
  7354     {
  7354     {
  7355         symbol_c *last_type_symbol = NULL;
  7355         symbol_c *last_type_symbol = NULL;
  7356 
  7356 
  7357         {
  7357         {
  7358             identifier_c IN_param_name("IN");
  7358             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7359             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7359             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7360             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7360             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7361             symbol_c *IN_type_symbol = NULL;
  7361             symbol_c *IN_type_symbol = NULL;
  7362             
  7362             
  7363             /* Get the value from a foo(<param_value>) style call */
  7363             /* Get the value from a foo(<param_value>) style call */
  7364             if (IN_param_value == NULL)
  7364             if (IN_param_value == NULL)
  7365               IN_param_value = function_call_param_iterator.next_nf();
  7365               IN_param_value = function_call_param_iterator.next_nf();
  7373         
  7373         
  7374                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7374                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7375                 
  7375                 
  7376                 if (IN_type_symbol == NULL)
  7376                 if (IN_type_symbol == NULL)
  7377                   IN_type_symbol = last_type_symbol;
  7377                   IN_type_symbol = last_type_symbol;
  7378                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7378                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7379                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  7379                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  7380                 function_type_prefix = return_type_symbol;
  7380                 function_type_prefix = return_type_symbol;
  7381                 function_type_suffix = IN_type_symbol;
  7381                 function_type_suffix = IN_type_symbol;
  7382                 break;
  7382                 break;
  7383                 
  7383                 
  7396     case function_word_to_usint :
  7396     case function_word_to_usint :
  7397     {
  7397     {
  7398         symbol_c *last_type_symbol = NULL;
  7398         symbol_c *last_type_symbol = NULL;
  7399 
  7399 
  7400         {
  7400         {
  7401             identifier_c IN_param_name("IN");
  7401             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7402             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7402             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7403             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7403             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7404             symbol_c *IN_type_symbol = NULL;
  7404             symbol_c *IN_type_symbol = NULL;
  7405             
  7405             
  7406             /* Get the value from a foo(<param_value>) style call */
  7406             /* Get the value from a foo(<param_value>) style call */
  7407             if (IN_param_value == NULL)
  7407             if (IN_param_value == NULL)
  7408               IN_param_value = function_call_param_iterator.next_nf();
  7408               IN_param_value = function_call_param_iterator.next_nf();
  7416         
  7416         
  7417                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7417                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7418                 
  7418                 
  7419                 if (IN_type_symbol == NULL)
  7419                 if (IN_type_symbol == NULL)
  7420                   IN_type_symbol = last_type_symbol;
  7420                   IN_type_symbol = last_type_symbol;
  7421                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7421                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7422                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  7422                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  7423                 function_type_prefix = return_type_symbol;
  7423                 function_type_prefix = return_type_symbol;
  7424                 function_type_suffix = IN_type_symbol;
  7424                 function_type_suffix = IN_type_symbol;
  7425                 break;
  7425                 break;
  7426                 
  7426                 
  7439     case function_word_to_ulint :
  7439     case function_word_to_ulint :
  7440     {
  7440     {
  7441         symbol_c *last_type_symbol = NULL;
  7441         symbol_c *last_type_symbol = NULL;
  7442 
  7442 
  7443         {
  7443         {
  7444             identifier_c IN_param_name("IN");
  7444             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7445             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7445             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7446             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7446             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7447             symbol_c *IN_type_symbol = NULL;
  7447             symbol_c *IN_type_symbol = NULL;
  7448             
  7448             
  7449             /* Get the value from a foo(<param_value>) style call */
  7449             /* Get the value from a foo(<param_value>) style call */
  7450             if (IN_param_value == NULL)
  7450             if (IN_param_value == NULL)
  7451               IN_param_value = function_call_param_iterator.next_nf();
  7451               IN_param_value = function_call_param_iterator.next_nf();
  7459         
  7459         
  7460                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7460                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7461                 
  7461                 
  7462                 if (IN_type_symbol == NULL)
  7462                 if (IN_type_symbol == NULL)
  7463                   IN_type_symbol = last_type_symbol;
  7463                   IN_type_symbol = last_type_symbol;
  7464                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7464                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7465                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  7465                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  7466                 function_type_prefix = return_type_symbol;
  7466                 function_type_prefix = return_type_symbol;
  7467                 function_type_suffix = IN_type_symbol;
  7467                 function_type_suffix = IN_type_symbol;
  7468                 break;
  7468                 break;
  7469                 
  7469                 
  7482     case function_word_to_bool :
  7482     case function_word_to_bool :
  7483     {
  7483     {
  7484         symbol_c *last_type_symbol = NULL;
  7484         symbol_c *last_type_symbol = NULL;
  7485 
  7485 
  7486         {
  7486         {
  7487             identifier_c IN_param_name("IN");
  7487             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7488             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7488             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7489             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7489             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7490             symbol_c *IN_type_symbol = NULL;
  7490             symbol_c *IN_type_symbol = NULL;
  7491             
  7491             
  7492             /* Get the value from a foo(<param_value>) style call */
  7492             /* Get the value from a foo(<param_value>) style call */
  7493             if (IN_param_value == NULL)
  7493             if (IN_param_value == NULL)
  7494               IN_param_value = function_call_param_iterator.next_nf();
  7494               IN_param_value = function_call_param_iterator.next_nf();
  7502         
  7502         
  7503                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7503                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7504                 
  7504                 
  7505                 if (IN_type_symbol == NULL)
  7505                 if (IN_type_symbol == NULL)
  7506                   IN_type_symbol = last_type_symbol;
  7506                   IN_type_symbol = last_type_symbol;
  7507                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7507                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7508                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  7508                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  7509                 function_type_prefix = return_type_symbol;
  7509                 function_type_prefix = return_type_symbol;
  7510                 function_type_suffix = IN_type_symbol;
  7510                 function_type_suffix = IN_type_symbol;
  7511                 break;
  7511                 break;
  7512                 
  7512                 
  7525     case function_word_to_time :
  7525     case function_word_to_time :
  7526     {
  7526     {
  7527         symbol_c *last_type_symbol = NULL;
  7527         symbol_c *last_type_symbol = NULL;
  7528 
  7528 
  7529         {
  7529         {
  7530             identifier_c IN_param_name("IN");
  7530             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7531             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7531             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7532             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7532             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7533             symbol_c *IN_type_symbol = NULL;
  7533             symbol_c *IN_type_symbol = NULL;
  7534             
  7534             
  7535             /* Get the value from a foo(<param_value>) style call */
  7535             /* Get the value from a foo(<param_value>) style call */
  7536             if (IN_param_value == NULL)
  7536             if (IN_param_value == NULL)
  7537               IN_param_value = function_call_param_iterator.next_nf();
  7537               IN_param_value = function_call_param_iterator.next_nf();
  7545         
  7545         
  7546                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  7546                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  7547                 
  7547                 
  7548                 if (IN_type_symbol == NULL)
  7548                 if (IN_type_symbol == NULL)
  7549                   IN_type_symbol = last_type_symbol;
  7549                   IN_type_symbol = last_type_symbol;
  7550                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7550                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7551                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  7551                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  7552                 function_type_prefix = return_type_symbol;
  7552                 function_type_prefix = return_type_symbol;
  7553                 break;
  7553                 break;
  7554                 
  7554                 
  7555             }
  7555             }
  7567     case function_word_to_int :
  7567     case function_word_to_int :
  7568     {
  7568     {
  7569         symbol_c *last_type_symbol = NULL;
  7569         symbol_c *last_type_symbol = NULL;
  7570 
  7570 
  7571         {
  7571         {
  7572             identifier_c IN_param_name("IN");
  7572             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7573             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7573             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7574             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7574             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7575             symbol_c *IN_type_symbol = NULL;
  7575             symbol_c *IN_type_symbol = NULL;
  7576             
  7576             
  7577             /* Get the value from a foo(<param_value>) style call */
  7577             /* Get the value from a foo(<param_value>) style call */
  7578             if (IN_param_value == NULL)
  7578             if (IN_param_value == NULL)
  7579               IN_param_value = function_call_param_iterator.next_nf();
  7579               IN_param_value = function_call_param_iterator.next_nf();
  7587         
  7587         
  7588                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7588                 function_name = (symbol_c*)(new pragma_c("__move_"));
  7589                 
  7589                 
  7590                 if (IN_type_symbol == NULL)
  7590                 if (IN_type_symbol == NULL)
  7591                   IN_type_symbol = last_type_symbol;
  7591                   IN_type_symbol = last_type_symbol;
  7592                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7592                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7593                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  7593                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  7594                 function_type_prefix = return_type_symbol;
  7594                 function_type_prefix = return_type_symbol;
  7595                 function_type_suffix = IN_type_symbol;
  7595                 function_type_suffix = IN_type_symbol;
  7596                 break;
  7596                 break;
  7597                 
  7597                 
  7610     case function_string_to_real :
  7610     case function_string_to_real :
  7611     {
  7611     {
  7612         symbol_c *last_type_symbol = NULL;
  7612         symbol_c *last_type_symbol = NULL;
  7613 
  7613 
  7614         {
  7614         {
  7615             identifier_c IN_param_name("IN");
  7615             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7616             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7616             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7617             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7617             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7618             symbol_c *IN_type_symbol = NULL;
  7618             symbol_c *IN_type_symbol = NULL;
  7619             
  7619             
  7620             /* Get the value from a foo(<param_value>) style call */
  7620             /* Get the value from a foo(<param_value>) style call */
  7621             if (IN_param_value == NULL)
  7621             if (IN_param_value == NULL)
  7622               IN_param_value = function_call_param_iterator.next_nf();
  7622               IN_param_value = function_call_param_iterator.next_nf();
  7630         
  7630         
  7631                 function_name = (symbol_c*)(new pragma_c("__string_to_real"));
  7631                 function_name = (symbol_c*)(new pragma_c("__string_to_real"));
  7632                 
  7632                 
  7633                 if (IN_type_symbol == NULL)
  7633                 if (IN_type_symbol == NULL)
  7634                   IN_type_symbol = last_type_symbol;
  7634                   IN_type_symbol = last_type_symbol;
  7635                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7635                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7636                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  7636                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  7637                 function_type_prefix = return_type_symbol;
  7637                 function_type_prefix = return_type_symbol;
  7638                 break;
  7638                 break;
  7639                 
  7639                 
  7640             }
  7640             }
  7652     case function_string_to_sint :
  7652     case function_string_to_sint :
  7653     {
  7653     {
  7654         symbol_c *last_type_symbol = NULL;
  7654         symbol_c *last_type_symbol = NULL;
  7655 
  7655 
  7656         {
  7656         {
  7657             identifier_c IN_param_name("IN");
  7657             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7658             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7658             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7659             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7659             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7660             symbol_c *IN_type_symbol = NULL;
  7660             symbol_c *IN_type_symbol = NULL;
  7661             
  7661             
  7662             /* Get the value from a foo(<param_value>) style call */
  7662             /* Get the value from a foo(<param_value>) style call */
  7663             if (IN_param_value == NULL)
  7663             if (IN_param_value == NULL)
  7664               IN_param_value = function_call_param_iterator.next_nf();
  7664               IN_param_value = function_call_param_iterator.next_nf();
  7672         
  7672         
  7673                 function_name = (symbol_c*)(new pragma_c("__string_to_sint"));
  7673                 function_name = (symbol_c*)(new pragma_c("__string_to_sint"));
  7674                 
  7674                 
  7675                 if (IN_type_symbol == NULL)
  7675                 if (IN_type_symbol == NULL)
  7676                   IN_type_symbol = last_type_symbol;
  7676                   IN_type_symbol = last_type_symbol;
  7677                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7677                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7678                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  7678                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  7679                 function_type_prefix = return_type_symbol;
  7679                 function_type_prefix = return_type_symbol;
  7680                 break;
  7680                 break;
  7681                 
  7681                 
  7682             }
  7682             }
  7694     case function_string_to_lint :
  7694     case function_string_to_lint :
  7695     {
  7695     {
  7696         symbol_c *last_type_symbol = NULL;
  7696         symbol_c *last_type_symbol = NULL;
  7697 
  7697 
  7698         {
  7698         {
  7699             identifier_c IN_param_name("IN");
  7699             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7700             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7700             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7701             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7701             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7702             symbol_c *IN_type_symbol = NULL;
  7702             symbol_c *IN_type_symbol = NULL;
  7703             
  7703             
  7704             /* Get the value from a foo(<param_value>) style call */
  7704             /* Get the value from a foo(<param_value>) style call */
  7705             if (IN_param_value == NULL)
  7705             if (IN_param_value == NULL)
  7706               IN_param_value = function_call_param_iterator.next_nf();
  7706               IN_param_value = function_call_param_iterator.next_nf();
  7714         
  7714         
  7715                 function_name = (symbol_c*)(new pragma_c("__string_to_sint"));
  7715                 function_name = (symbol_c*)(new pragma_c("__string_to_sint"));
  7716                 
  7716                 
  7717                 if (IN_type_symbol == NULL)
  7717                 if (IN_type_symbol == NULL)
  7718                   IN_type_symbol = last_type_symbol;
  7718                   IN_type_symbol = last_type_symbol;
  7719                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7719                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7720                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  7720                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  7721                 function_type_prefix = return_type_symbol;
  7721                 function_type_prefix = return_type_symbol;
  7722                 break;
  7722                 break;
  7723                 
  7723                 
  7724             }
  7724             }
  7736     case function_string_to_dint :
  7736     case function_string_to_dint :
  7737     {
  7737     {
  7738         symbol_c *last_type_symbol = NULL;
  7738         symbol_c *last_type_symbol = NULL;
  7739 
  7739 
  7740         {
  7740         {
  7741             identifier_c IN_param_name("IN");
  7741             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7742             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7742             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7743             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7743             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7744             symbol_c *IN_type_symbol = NULL;
  7744             symbol_c *IN_type_symbol = NULL;
  7745             
  7745             
  7746             /* Get the value from a foo(<param_value>) style call */
  7746             /* Get the value from a foo(<param_value>) style call */
  7747             if (IN_param_value == NULL)
  7747             if (IN_param_value == NULL)
  7748               IN_param_value = function_call_param_iterator.next_nf();
  7748               IN_param_value = function_call_param_iterator.next_nf();
  7756         
  7756         
  7757                 function_name = (symbol_c*)(new pragma_c("__string_to_sint"));
  7757                 function_name = (symbol_c*)(new pragma_c("__string_to_sint"));
  7758                 
  7758                 
  7759                 if (IN_type_symbol == NULL)
  7759                 if (IN_type_symbol == NULL)
  7760                   IN_type_symbol = last_type_symbol;
  7760                   IN_type_symbol = last_type_symbol;
  7761                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7761                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7762                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  7762                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  7763                 function_type_prefix = return_type_symbol;
  7763                 function_type_prefix = return_type_symbol;
  7764                 break;
  7764                 break;
  7765                 
  7765                 
  7766             }
  7766             }
  7778     case function_string_to_date :
  7778     case function_string_to_date :
  7779     {
  7779     {
  7780         symbol_c *last_type_symbol = NULL;
  7780         symbol_c *last_type_symbol = NULL;
  7781 
  7781 
  7782         {
  7782         {
  7783             identifier_c IN_param_name("IN");
  7783             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7784             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7784             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7785             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7785             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7786             symbol_c *IN_type_symbol = NULL;
  7786             symbol_c *IN_type_symbol = NULL;
  7787             
  7787             
  7788             /* Get the value from a foo(<param_value>) style call */
  7788             /* Get the value from a foo(<param_value>) style call */
  7789             if (IN_param_value == NULL)
  7789             if (IN_param_value == NULL)
  7790               IN_param_value = function_call_param_iterator.next_nf();
  7790               IN_param_value = function_call_param_iterator.next_nf();
  7798         
  7798         
  7799                 function_name = (symbol_c*)(new pragma_c("__string_to_time"));
  7799                 function_name = (symbol_c*)(new pragma_c("__string_to_time"));
  7800                 
  7800                 
  7801                 if (IN_type_symbol == NULL)
  7801                 if (IN_type_symbol == NULL)
  7802                   IN_type_symbol = last_type_symbol;
  7802                   IN_type_symbol = last_type_symbol;
  7803                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7803                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7804                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  7804                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  7805                 function_type_prefix = return_type_symbol;
  7805                 function_type_prefix = return_type_symbol;
  7806                 break;
  7806                 break;
  7807                 
  7807                 
  7808             }
  7808             }
  7820     case function_string_to_dword :
  7820     case function_string_to_dword :
  7821     {
  7821     {
  7822         symbol_c *last_type_symbol = NULL;
  7822         symbol_c *last_type_symbol = NULL;
  7823 
  7823 
  7824         {
  7824         {
  7825             identifier_c IN_param_name("IN");
  7825             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7826             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7826             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7827             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7827             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7828             symbol_c *IN_type_symbol = NULL;
  7828             symbol_c *IN_type_symbol = NULL;
  7829             
  7829             
  7830             /* Get the value from a foo(<param_value>) style call */
  7830             /* Get the value from a foo(<param_value>) style call */
  7831             if (IN_param_value == NULL)
  7831             if (IN_param_value == NULL)
  7832               IN_param_value = function_call_param_iterator.next_nf();
  7832               IN_param_value = function_call_param_iterator.next_nf();
  7840         
  7840         
  7841                 function_name = (symbol_c*)(new pragma_c("__string_to_bit"));
  7841                 function_name = (symbol_c*)(new pragma_c("__string_to_bit"));
  7842                 
  7842                 
  7843                 if (IN_type_symbol == NULL)
  7843                 if (IN_type_symbol == NULL)
  7844                   IN_type_symbol = last_type_symbol;
  7844                   IN_type_symbol = last_type_symbol;
  7845                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7845                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7846                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  7846                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  7847                 function_type_prefix = return_type_symbol;
  7847                 function_type_prefix = return_type_symbol;
  7848                 break;
  7848                 break;
  7849                 
  7849                 
  7850             }
  7850             }
  7862     case function_string_to_dt :
  7862     case function_string_to_dt :
  7863     {
  7863     {
  7864         symbol_c *last_type_symbol = NULL;
  7864         symbol_c *last_type_symbol = NULL;
  7865 
  7865 
  7866         {
  7866         {
  7867             identifier_c IN_param_name("IN");
  7867             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7868             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7868             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7869             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7869             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7870             symbol_c *IN_type_symbol = NULL;
  7870             symbol_c *IN_type_symbol = NULL;
  7871             
  7871             
  7872             /* Get the value from a foo(<param_value>) style call */
  7872             /* Get the value from a foo(<param_value>) style call */
  7873             if (IN_param_value == NULL)
  7873             if (IN_param_value == NULL)
  7874               IN_param_value = function_call_param_iterator.next_nf();
  7874               IN_param_value = function_call_param_iterator.next_nf();
  7882         
  7882         
  7883                 function_name = (symbol_c*)(new pragma_c("__string_to_time"));
  7883                 function_name = (symbol_c*)(new pragma_c("__string_to_time"));
  7884                 
  7884                 
  7885                 if (IN_type_symbol == NULL)
  7885                 if (IN_type_symbol == NULL)
  7886                   IN_type_symbol = last_type_symbol;
  7886                   IN_type_symbol = last_type_symbol;
  7887                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7887                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7888                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  7888                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  7889                 function_type_prefix = return_type_symbol;
  7889                 function_type_prefix = return_type_symbol;
  7890                 break;
  7890                 break;
  7891                 
  7891                 
  7892             }
  7892             }
  7904     case function_string_to_tod :
  7904     case function_string_to_tod :
  7905     {
  7905     {
  7906         symbol_c *last_type_symbol = NULL;
  7906         symbol_c *last_type_symbol = NULL;
  7907 
  7907 
  7908         {
  7908         {
  7909             identifier_c IN_param_name("IN");
  7909             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7910             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7910             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7911             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7911             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7912             symbol_c *IN_type_symbol = NULL;
  7912             symbol_c *IN_type_symbol = NULL;
  7913             
  7913             
  7914             /* Get the value from a foo(<param_value>) style call */
  7914             /* Get the value from a foo(<param_value>) style call */
  7915             if (IN_param_value == NULL)
  7915             if (IN_param_value == NULL)
  7916               IN_param_value = function_call_param_iterator.next_nf();
  7916               IN_param_value = function_call_param_iterator.next_nf();
  7924         
  7924         
  7925                 function_name = (symbol_c*)(new pragma_c("__string_to_time"));
  7925                 function_name = (symbol_c*)(new pragma_c("__string_to_time"));
  7926                 
  7926                 
  7927                 if (IN_type_symbol == NULL)
  7927                 if (IN_type_symbol == NULL)
  7928                   IN_type_symbol = last_type_symbol;
  7928                   IN_type_symbol = last_type_symbol;
  7929                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7929                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7930                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  7930                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  7931                 function_type_prefix = return_type_symbol;
  7931                 function_type_prefix = return_type_symbol;
  7932                 break;
  7932                 break;
  7933                 
  7933                 
  7934             }
  7934             }
  7946     case function_string_to_udint :
  7946     case function_string_to_udint :
  7947     {
  7947     {
  7948         symbol_c *last_type_symbol = NULL;
  7948         symbol_c *last_type_symbol = NULL;
  7949 
  7949 
  7950         {
  7950         {
  7951             identifier_c IN_param_name("IN");
  7951             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7952             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7952             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7953             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7953             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7954             symbol_c *IN_type_symbol = NULL;
  7954             symbol_c *IN_type_symbol = NULL;
  7955             
  7955             
  7956             /* Get the value from a foo(<param_value>) style call */
  7956             /* Get the value from a foo(<param_value>) style call */
  7957             if (IN_param_value == NULL)
  7957             if (IN_param_value == NULL)
  7958               IN_param_value = function_call_param_iterator.next_nf();
  7958               IN_param_value = function_call_param_iterator.next_nf();
  7966         
  7966         
  7967                 function_name = (symbol_c*)(new pragma_c("__string_to_uint"));
  7967                 function_name = (symbol_c*)(new pragma_c("__string_to_uint"));
  7968                 
  7968                 
  7969                 if (IN_type_symbol == NULL)
  7969                 if (IN_type_symbol == NULL)
  7970                   IN_type_symbol = last_type_symbol;
  7970                   IN_type_symbol = last_type_symbol;
  7971                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7971                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  7972                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  7972                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  7973                 function_type_prefix = return_type_symbol;
  7973                 function_type_prefix = return_type_symbol;
  7974                 break;
  7974                 break;
  7975                 
  7975                 
  7976             }
  7976             }
  7988     case function_string_to_word :
  7988     case function_string_to_word :
  7989     {
  7989     {
  7990         symbol_c *last_type_symbol = NULL;
  7990         symbol_c *last_type_symbol = NULL;
  7991 
  7991 
  7992         {
  7992         {
  7993             identifier_c IN_param_name("IN");
  7993             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  7994             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7994             /* Get the value from a foo(<param_name> = <param_value>) style call */
  7995             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  7995             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  7996             symbol_c *IN_type_symbol = NULL;
  7996             symbol_c *IN_type_symbol = NULL;
  7997             
  7997             
  7998             /* Get the value from a foo(<param_value>) style call */
  7998             /* Get the value from a foo(<param_value>) style call */
  7999             if (IN_param_value == NULL)
  7999             if (IN_param_value == NULL)
  8000               IN_param_value = function_call_param_iterator.next_nf();
  8000               IN_param_value = function_call_param_iterator.next_nf();
  8008         
  8008         
  8009                 function_name = (symbol_c*)(new pragma_c("__string_to_bit"));
  8009                 function_name = (symbol_c*)(new pragma_c("__string_to_bit"));
  8010                 
  8010                 
  8011                 if (IN_type_symbol == NULL)
  8011                 if (IN_type_symbol == NULL)
  8012                   IN_type_symbol = last_type_symbol;
  8012                   IN_type_symbol = last_type_symbol;
  8013                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8013                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8014                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  8014                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  8015                 function_type_prefix = return_type_symbol;
  8015                 function_type_prefix = return_type_symbol;
  8016                 break;
  8016                 break;
  8017                 
  8017                 
  8018             }
  8018             }
  8030     case function_string_to_lword :
  8030     case function_string_to_lword :
  8031     {
  8031     {
  8032         symbol_c *last_type_symbol = NULL;
  8032         symbol_c *last_type_symbol = NULL;
  8033 
  8033 
  8034         {
  8034         {
  8035             identifier_c IN_param_name("IN");
  8035             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8036             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8036             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8037             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8037             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8038             symbol_c *IN_type_symbol = NULL;
  8038             symbol_c *IN_type_symbol = NULL;
  8039             
  8039             
  8040             /* Get the value from a foo(<param_value>) style call */
  8040             /* Get the value from a foo(<param_value>) style call */
  8041             if (IN_param_value == NULL)
  8041             if (IN_param_value == NULL)
  8042               IN_param_value = function_call_param_iterator.next_nf();
  8042               IN_param_value = function_call_param_iterator.next_nf();
  8050         
  8050         
  8051                 function_name = (symbol_c*)(new pragma_c("__string_to_bit"));
  8051                 function_name = (symbol_c*)(new pragma_c("__string_to_bit"));
  8052                 
  8052                 
  8053                 if (IN_type_symbol == NULL)
  8053                 if (IN_type_symbol == NULL)
  8054                   IN_type_symbol = last_type_symbol;
  8054                   IN_type_symbol = last_type_symbol;
  8055                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8055                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8056                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  8056                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  8057                 function_type_prefix = return_type_symbol;
  8057                 function_type_prefix = return_type_symbol;
  8058                 break;
  8058                 break;
  8059                 
  8059                 
  8060             }
  8060             }
  8072     case function_string_to_uint :
  8072     case function_string_to_uint :
  8073     {
  8073     {
  8074         symbol_c *last_type_symbol = NULL;
  8074         symbol_c *last_type_symbol = NULL;
  8075 
  8075 
  8076         {
  8076         {
  8077             identifier_c IN_param_name("IN");
  8077             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8078             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8078             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8079             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8079             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8080             symbol_c *IN_type_symbol = NULL;
  8080             symbol_c *IN_type_symbol = NULL;
  8081             
  8081             
  8082             /* Get the value from a foo(<param_value>) style call */
  8082             /* Get the value from a foo(<param_value>) style call */
  8083             if (IN_param_value == NULL)
  8083             if (IN_param_value == NULL)
  8084               IN_param_value = function_call_param_iterator.next_nf();
  8084               IN_param_value = function_call_param_iterator.next_nf();
  8092         
  8092         
  8093                 function_name = (symbol_c*)(new pragma_c("__string_to_uint"));
  8093                 function_name = (symbol_c*)(new pragma_c("__string_to_uint"));
  8094                 
  8094                 
  8095                 if (IN_type_symbol == NULL)
  8095                 if (IN_type_symbol == NULL)
  8096                   IN_type_symbol = last_type_symbol;
  8096                   IN_type_symbol = last_type_symbol;
  8097                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8097                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8098                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  8098                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  8099                 function_type_prefix = return_type_symbol;
  8099                 function_type_prefix = return_type_symbol;
  8100                 break;
  8100                 break;
  8101                 
  8101                 
  8102             }
  8102             }
  8114     case function_string_to_lreal :
  8114     case function_string_to_lreal :
  8115     {
  8115     {
  8116         symbol_c *last_type_symbol = NULL;
  8116         symbol_c *last_type_symbol = NULL;
  8117 
  8117 
  8118         {
  8118         {
  8119             identifier_c IN_param_name("IN");
  8119             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8120             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8120             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8121             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8121             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8122             symbol_c *IN_type_symbol = NULL;
  8122             symbol_c *IN_type_symbol = NULL;
  8123             
  8123             
  8124             /* Get the value from a foo(<param_value>) style call */
  8124             /* Get the value from a foo(<param_value>) style call */
  8125             if (IN_param_value == NULL)
  8125             if (IN_param_value == NULL)
  8126               IN_param_value = function_call_param_iterator.next_nf();
  8126               IN_param_value = function_call_param_iterator.next_nf();
  8134         
  8134         
  8135                 function_name = (symbol_c*)(new pragma_c("__string_to_real"));
  8135                 function_name = (symbol_c*)(new pragma_c("__string_to_real"));
  8136                 
  8136                 
  8137                 if (IN_type_symbol == NULL)
  8137                 if (IN_type_symbol == NULL)
  8138                   IN_type_symbol = last_type_symbol;
  8138                   IN_type_symbol = last_type_symbol;
  8139                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8139                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8140                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  8140                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  8141                 function_type_prefix = return_type_symbol;
  8141                 function_type_prefix = return_type_symbol;
  8142                 break;
  8142                 break;
  8143                 
  8143                 
  8144             }
  8144             }
  8156     case function_string_to_byte :
  8156     case function_string_to_byte :
  8157     {
  8157     {
  8158         symbol_c *last_type_symbol = NULL;
  8158         symbol_c *last_type_symbol = NULL;
  8159 
  8159 
  8160         {
  8160         {
  8161             identifier_c IN_param_name("IN");
  8161             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8162             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8162             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8163             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8163             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8164             symbol_c *IN_type_symbol = NULL;
  8164             symbol_c *IN_type_symbol = NULL;
  8165             
  8165             
  8166             /* Get the value from a foo(<param_value>) style call */
  8166             /* Get the value from a foo(<param_value>) style call */
  8167             if (IN_param_value == NULL)
  8167             if (IN_param_value == NULL)
  8168               IN_param_value = function_call_param_iterator.next_nf();
  8168               IN_param_value = function_call_param_iterator.next_nf();
  8176         
  8176         
  8177                 function_name = (symbol_c*)(new pragma_c("__string_to_bit"));
  8177                 function_name = (symbol_c*)(new pragma_c("__string_to_bit"));
  8178                 
  8178                 
  8179                 if (IN_type_symbol == NULL)
  8179                 if (IN_type_symbol == NULL)
  8180                   IN_type_symbol = last_type_symbol;
  8180                   IN_type_symbol = last_type_symbol;
  8181                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8181                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8182                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  8182                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  8183                 function_type_prefix = return_type_symbol;
  8183                 function_type_prefix = return_type_symbol;
  8184                 break;
  8184                 break;
  8185                 
  8185                 
  8186             }
  8186             }
  8198     case function_string_to_usint :
  8198     case function_string_to_usint :
  8199     {
  8199     {
  8200         symbol_c *last_type_symbol = NULL;
  8200         symbol_c *last_type_symbol = NULL;
  8201 
  8201 
  8202         {
  8202         {
  8203             identifier_c IN_param_name("IN");
  8203             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8204             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8204             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8205             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8205             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8206             symbol_c *IN_type_symbol = NULL;
  8206             symbol_c *IN_type_symbol = NULL;
  8207             
  8207             
  8208             /* Get the value from a foo(<param_value>) style call */
  8208             /* Get the value from a foo(<param_value>) style call */
  8209             if (IN_param_value == NULL)
  8209             if (IN_param_value == NULL)
  8210               IN_param_value = function_call_param_iterator.next_nf();
  8210               IN_param_value = function_call_param_iterator.next_nf();
  8218         
  8218         
  8219                 function_name = (symbol_c*)(new pragma_c("__string_to_uint"));
  8219                 function_name = (symbol_c*)(new pragma_c("__string_to_uint"));
  8220                 
  8220                 
  8221                 if (IN_type_symbol == NULL)
  8221                 if (IN_type_symbol == NULL)
  8222                   IN_type_symbol = last_type_symbol;
  8222                   IN_type_symbol = last_type_symbol;
  8223                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8223                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8224                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  8224                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  8225                 function_type_prefix = return_type_symbol;
  8225                 function_type_prefix = return_type_symbol;
  8226                 break;
  8226                 break;
  8227                 
  8227                 
  8228             }
  8228             }
  8240     case function_string_to_ulint :
  8240     case function_string_to_ulint :
  8241     {
  8241     {
  8242         symbol_c *last_type_symbol = NULL;
  8242         symbol_c *last_type_symbol = NULL;
  8243 
  8243 
  8244         {
  8244         {
  8245             identifier_c IN_param_name("IN");
  8245             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8246             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8246             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8247             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8247             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8248             symbol_c *IN_type_symbol = NULL;
  8248             symbol_c *IN_type_symbol = NULL;
  8249             
  8249             
  8250             /* Get the value from a foo(<param_value>) style call */
  8250             /* Get the value from a foo(<param_value>) style call */
  8251             if (IN_param_value == NULL)
  8251             if (IN_param_value == NULL)
  8252               IN_param_value = function_call_param_iterator.next_nf();
  8252               IN_param_value = function_call_param_iterator.next_nf();
  8260         
  8260         
  8261                 function_name = (symbol_c*)(new pragma_c("__string_to_uint"));
  8261                 function_name = (symbol_c*)(new pragma_c("__string_to_uint"));
  8262                 
  8262                 
  8263                 if (IN_type_symbol == NULL)
  8263                 if (IN_type_symbol == NULL)
  8264                   IN_type_symbol = last_type_symbol;
  8264                   IN_type_symbol = last_type_symbol;
  8265                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8265                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8266                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  8266                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  8267                 function_type_prefix = return_type_symbol;
  8267                 function_type_prefix = return_type_symbol;
  8268                 break;
  8268                 break;
  8269                 
  8269                 
  8270             }
  8270             }
  8282     case function_string_to_bool :
  8282     case function_string_to_bool :
  8283     {
  8283     {
  8284         symbol_c *last_type_symbol = NULL;
  8284         symbol_c *last_type_symbol = NULL;
  8285 
  8285 
  8286         {
  8286         {
  8287             identifier_c IN_param_name("IN");
  8287             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8288             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8288             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8289             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8289             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8290             symbol_c *IN_type_symbol = NULL;
  8290             symbol_c *IN_type_symbol = NULL;
  8291             
  8291             
  8292             /* Get the value from a foo(<param_value>) style call */
  8292             /* Get the value from a foo(<param_value>) style call */
  8293             if (IN_param_value == NULL)
  8293             if (IN_param_value == NULL)
  8294               IN_param_value = function_call_param_iterator.next_nf();
  8294               IN_param_value = function_call_param_iterator.next_nf();
  8302         
  8302         
  8303                 function_name = (symbol_c*)(new pragma_c("__string_to_bool"));
  8303                 function_name = (symbol_c*)(new pragma_c("__string_to_bool"));
  8304                 
  8304                 
  8305                 if (IN_type_symbol == NULL)
  8305                 if (IN_type_symbol == NULL)
  8306                   IN_type_symbol = last_type_symbol;
  8306                   IN_type_symbol = last_type_symbol;
  8307                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8307                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8308                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  8308                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  8309                 function_type_prefix = return_type_symbol;
  8309                 function_type_prefix = return_type_symbol;
  8310                 break;
  8310                 break;
  8311                 
  8311                 
  8312             }
  8312             }
  8324     case function_string_to_time :
  8324     case function_string_to_time :
  8325     {
  8325     {
  8326         symbol_c *last_type_symbol = NULL;
  8326         symbol_c *last_type_symbol = NULL;
  8327 
  8327 
  8328         {
  8328         {
  8329             identifier_c IN_param_name("IN");
  8329             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8330             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8330             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8331             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8331             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8332             symbol_c *IN_type_symbol = NULL;
  8332             symbol_c *IN_type_symbol = NULL;
  8333             
  8333             
  8334             /* Get the value from a foo(<param_value>) style call */
  8334             /* Get the value from a foo(<param_value>) style call */
  8335             if (IN_param_value == NULL)
  8335             if (IN_param_value == NULL)
  8336               IN_param_value = function_call_param_iterator.next_nf();
  8336               IN_param_value = function_call_param_iterator.next_nf();
  8344         
  8344         
  8345                 function_name = (symbol_c*)(new pragma_c("__string_to_time"));
  8345                 function_name = (symbol_c*)(new pragma_c("__string_to_time"));
  8346                 
  8346                 
  8347                 if (IN_type_symbol == NULL)
  8347                 if (IN_type_symbol == NULL)
  8348                   IN_type_symbol = last_type_symbol;
  8348                   IN_type_symbol = last_type_symbol;
  8349                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8349                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8350                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  8350                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  8351                 function_type_prefix = return_type_symbol;
  8351                 function_type_prefix = return_type_symbol;
  8352                 break;
  8352                 break;
  8353                 
  8353                 
  8354             }
  8354             }
  8366     case function_string_to_int :
  8366     case function_string_to_int :
  8367     {
  8367     {
  8368         symbol_c *last_type_symbol = NULL;
  8368         symbol_c *last_type_symbol = NULL;
  8369 
  8369 
  8370         {
  8370         {
  8371             identifier_c IN_param_name("IN");
  8371             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8372             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8372             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8373             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8373             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8374             symbol_c *IN_type_symbol = NULL;
  8374             symbol_c *IN_type_symbol = NULL;
  8375             
  8375             
  8376             /* Get the value from a foo(<param_value>) style call */
  8376             /* Get the value from a foo(<param_value>) style call */
  8377             if (IN_param_value == NULL)
  8377             if (IN_param_value == NULL)
  8378               IN_param_value = function_call_param_iterator.next_nf();
  8378               IN_param_value = function_call_param_iterator.next_nf();
  8386         
  8386         
  8387                 function_name = (symbol_c*)(new pragma_c("__string_to_sint"));
  8387                 function_name = (symbol_c*)(new pragma_c("__string_to_sint"));
  8388                 
  8388                 
  8389                 if (IN_type_symbol == NULL)
  8389                 if (IN_type_symbol == NULL)
  8390                   IN_type_symbol = last_type_symbol;
  8390                   IN_type_symbol = last_type_symbol;
  8391                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8391                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8392                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  8392                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  8393                 function_type_prefix = return_type_symbol;
  8393                 function_type_prefix = return_type_symbol;
  8394                 break;
  8394                 break;
  8395                 
  8395                 
  8396             }
  8396             }
  8408     case function_lword_to_real :
  8408     case function_lword_to_real :
  8409     {
  8409     {
  8410         symbol_c *last_type_symbol = NULL;
  8410         symbol_c *last_type_symbol = NULL;
  8411 
  8411 
  8412         {
  8412         {
  8413             identifier_c IN_param_name("IN");
  8413             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8414             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8414             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8415             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8415             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8416             symbol_c *IN_type_symbol = NULL;
  8416             symbol_c *IN_type_symbol = NULL;
  8417             
  8417             
  8418             /* Get the value from a foo(<param_value>) style call */
  8418             /* Get the value from a foo(<param_value>) style call */
  8419             if (IN_param_value == NULL)
  8419             if (IN_param_value == NULL)
  8420               IN_param_value = function_call_param_iterator.next_nf();
  8420               IN_param_value = function_call_param_iterator.next_nf();
  8428         
  8428         
  8429                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8429                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8430                 
  8430                 
  8431                 if (IN_type_symbol == NULL)
  8431                 if (IN_type_symbol == NULL)
  8432                   IN_type_symbol = last_type_symbol;
  8432                   IN_type_symbol = last_type_symbol;
  8433                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8433                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8434                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  8434                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  8435                 function_type_prefix = return_type_symbol;
  8435                 function_type_prefix = return_type_symbol;
  8436                 function_type_suffix = IN_type_symbol;
  8436                 function_type_suffix = IN_type_symbol;
  8437                 break;
  8437                 break;
  8438                 
  8438                 
  8451     case function_lword_to_sint :
  8451     case function_lword_to_sint :
  8452     {
  8452     {
  8453         symbol_c *last_type_symbol = NULL;
  8453         symbol_c *last_type_symbol = NULL;
  8454 
  8454 
  8455         {
  8455         {
  8456             identifier_c IN_param_name("IN");
  8456             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8457             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8457             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8458             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8458             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8459             symbol_c *IN_type_symbol = NULL;
  8459             symbol_c *IN_type_symbol = NULL;
  8460             
  8460             
  8461             /* Get the value from a foo(<param_value>) style call */
  8461             /* Get the value from a foo(<param_value>) style call */
  8462             if (IN_param_value == NULL)
  8462             if (IN_param_value == NULL)
  8463               IN_param_value = function_call_param_iterator.next_nf();
  8463               IN_param_value = function_call_param_iterator.next_nf();
  8471         
  8471         
  8472                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8472                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8473                 
  8473                 
  8474                 if (IN_type_symbol == NULL)
  8474                 if (IN_type_symbol == NULL)
  8475                   IN_type_symbol = last_type_symbol;
  8475                   IN_type_symbol = last_type_symbol;
  8476                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8476                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8477                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  8477                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  8478                 function_type_prefix = return_type_symbol;
  8478                 function_type_prefix = return_type_symbol;
  8479                 function_type_suffix = IN_type_symbol;
  8479                 function_type_suffix = IN_type_symbol;
  8480                 break;
  8480                 break;
  8481                 
  8481                 
  8494     case function_lword_to_lint :
  8494     case function_lword_to_lint :
  8495     {
  8495     {
  8496         symbol_c *last_type_symbol = NULL;
  8496         symbol_c *last_type_symbol = NULL;
  8497 
  8497 
  8498         {
  8498         {
  8499             identifier_c IN_param_name("IN");
  8499             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8500             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8500             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8501             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8501             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8502             symbol_c *IN_type_symbol = NULL;
  8502             symbol_c *IN_type_symbol = NULL;
  8503             
  8503             
  8504             /* Get the value from a foo(<param_value>) style call */
  8504             /* Get the value from a foo(<param_value>) style call */
  8505             if (IN_param_value == NULL)
  8505             if (IN_param_value == NULL)
  8506               IN_param_value = function_call_param_iterator.next_nf();
  8506               IN_param_value = function_call_param_iterator.next_nf();
  8514         
  8514         
  8515                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8515                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8516                 
  8516                 
  8517                 if (IN_type_symbol == NULL)
  8517                 if (IN_type_symbol == NULL)
  8518                   IN_type_symbol = last_type_symbol;
  8518                   IN_type_symbol = last_type_symbol;
  8519                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8519                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8520                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  8520                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  8521                 function_type_prefix = return_type_symbol;
  8521                 function_type_prefix = return_type_symbol;
  8522                 function_type_suffix = IN_type_symbol;
  8522                 function_type_suffix = IN_type_symbol;
  8523                 break;
  8523                 break;
  8524                 
  8524                 
  8537     case function_lword_to_dint :
  8537     case function_lword_to_dint :
  8538     {
  8538     {
  8539         symbol_c *last_type_symbol = NULL;
  8539         symbol_c *last_type_symbol = NULL;
  8540 
  8540 
  8541         {
  8541         {
  8542             identifier_c IN_param_name("IN");
  8542             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8543             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8543             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8544             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8544             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8545             symbol_c *IN_type_symbol = NULL;
  8545             symbol_c *IN_type_symbol = NULL;
  8546             
  8546             
  8547             /* Get the value from a foo(<param_value>) style call */
  8547             /* Get the value from a foo(<param_value>) style call */
  8548             if (IN_param_value == NULL)
  8548             if (IN_param_value == NULL)
  8549               IN_param_value = function_call_param_iterator.next_nf();
  8549               IN_param_value = function_call_param_iterator.next_nf();
  8557         
  8557         
  8558                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8558                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8559                 
  8559                 
  8560                 if (IN_type_symbol == NULL)
  8560                 if (IN_type_symbol == NULL)
  8561                   IN_type_symbol = last_type_symbol;
  8561                   IN_type_symbol = last_type_symbol;
  8562                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8562                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8563                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  8563                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  8564                 function_type_prefix = return_type_symbol;
  8564                 function_type_prefix = return_type_symbol;
  8565                 function_type_suffix = IN_type_symbol;
  8565                 function_type_suffix = IN_type_symbol;
  8566                 break;
  8566                 break;
  8567                 
  8567                 
  8580     case function_lword_to_date :
  8580     case function_lword_to_date :
  8581     {
  8581     {
  8582         symbol_c *last_type_symbol = NULL;
  8582         symbol_c *last_type_symbol = NULL;
  8583 
  8583 
  8584         {
  8584         {
  8585             identifier_c IN_param_name("IN");
  8585             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8586             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8586             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8587             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8587             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8588             symbol_c *IN_type_symbol = NULL;
  8588             symbol_c *IN_type_symbol = NULL;
  8589             
  8589             
  8590             /* Get the value from a foo(<param_value>) style call */
  8590             /* Get the value from a foo(<param_value>) style call */
  8591             if (IN_param_value == NULL)
  8591             if (IN_param_value == NULL)
  8592               IN_param_value = function_call_param_iterator.next_nf();
  8592               IN_param_value = function_call_param_iterator.next_nf();
  8600         
  8600         
  8601                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  8601                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  8602                 
  8602                 
  8603                 if (IN_type_symbol == NULL)
  8603                 if (IN_type_symbol == NULL)
  8604                   IN_type_symbol = last_type_symbol;
  8604                   IN_type_symbol = last_type_symbol;
  8605                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8605                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8606                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  8606                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  8607                 function_type_prefix = return_type_symbol;
  8607                 function_type_prefix = return_type_symbol;
  8608                 break;
  8608                 break;
  8609                 
  8609                 
  8610             }
  8610             }
  8622     case function_lword_to_dword :
  8622     case function_lword_to_dword :
  8623     {
  8623     {
  8624         symbol_c *last_type_symbol = NULL;
  8624         symbol_c *last_type_symbol = NULL;
  8625 
  8625 
  8626         {
  8626         {
  8627             identifier_c IN_param_name("IN");
  8627             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8628             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8628             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8629             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8629             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8630             symbol_c *IN_type_symbol = NULL;
  8630             symbol_c *IN_type_symbol = NULL;
  8631             
  8631             
  8632             /* Get the value from a foo(<param_value>) style call */
  8632             /* Get the value from a foo(<param_value>) style call */
  8633             if (IN_param_value == NULL)
  8633             if (IN_param_value == NULL)
  8634               IN_param_value = function_call_param_iterator.next_nf();
  8634               IN_param_value = function_call_param_iterator.next_nf();
  8642         
  8642         
  8643                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8643                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8644                 
  8644                 
  8645                 if (IN_type_symbol == NULL)
  8645                 if (IN_type_symbol == NULL)
  8646                   IN_type_symbol = last_type_symbol;
  8646                   IN_type_symbol = last_type_symbol;
  8647                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8647                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8648                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  8648                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  8649                 function_type_prefix = return_type_symbol;
  8649                 function_type_prefix = return_type_symbol;
  8650                 function_type_suffix = IN_type_symbol;
  8650                 function_type_suffix = IN_type_symbol;
  8651                 break;
  8651                 break;
  8652                 
  8652                 
  8665     case function_lword_to_dt :
  8665     case function_lword_to_dt :
  8666     {
  8666     {
  8667         symbol_c *last_type_symbol = NULL;
  8667         symbol_c *last_type_symbol = NULL;
  8668 
  8668 
  8669         {
  8669         {
  8670             identifier_c IN_param_name("IN");
  8670             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8671             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8671             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8672             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8672             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8673             symbol_c *IN_type_symbol = NULL;
  8673             symbol_c *IN_type_symbol = NULL;
  8674             
  8674             
  8675             /* Get the value from a foo(<param_value>) style call */
  8675             /* Get the value from a foo(<param_value>) style call */
  8676             if (IN_param_value == NULL)
  8676             if (IN_param_value == NULL)
  8677               IN_param_value = function_call_param_iterator.next_nf();
  8677               IN_param_value = function_call_param_iterator.next_nf();
  8685         
  8685         
  8686                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  8686                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  8687                 
  8687                 
  8688                 if (IN_type_symbol == NULL)
  8688                 if (IN_type_symbol == NULL)
  8689                   IN_type_symbol = last_type_symbol;
  8689                   IN_type_symbol = last_type_symbol;
  8690                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8690                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8691                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  8691                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  8692                 function_type_prefix = return_type_symbol;
  8692                 function_type_prefix = return_type_symbol;
  8693                 break;
  8693                 break;
  8694                 
  8694                 
  8695             }
  8695             }
  8707     case function_lword_to_tod :
  8707     case function_lword_to_tod :
  8708     {
  8708     {
  8709         symbol_c *last_type_symbol = NULL;
  8709         symbol_c *last_type_symbol = NULL;
  8710 
  8710 
  8711         {
  8711         {
  8712             identifier_c IN_param_name("IN");
  8712             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8713             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8713             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8714             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8714             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8715             symbol_c *IN_type_symbol = NULL;
  8715             symbol_c *IN_type_symbol = NULL;
  8716             
  8716             
  8717             /* Get the value from a foo(<param_value>) style call */
  8717             /* Get the value from a foo(<param_value>) style call */
  8718             if (IN_param_value == NULL)
  8718             if (IN_param_value == NULL)
  8719               IN_param_value = function_call_param_iterator.next_nf();
  8719               IN_param_value = function_call_param_iterator.next_nf();
  8727         
  8727         
  8728                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  8728                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  8729                 
  8729                 
  8730                 if (IN_type_symbol == NULL)
  8730                 if (IN_type_symbol == NULL)
  8731                   IN_type_symbol = last_type_symbol;
  8731                   IN_type_symbol = last_type_symbol;
  8732                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8732                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8733                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  8733                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  8734                 function_type_prefix = return_type_symbol;
  8734                 function_type_prefix = return_type_symbol;
  8735                 break;
  8735                 break;
  8736                 
  8736                 
  8737             }
  8737             }
  8749     case function_lword_to_udint :
  8749     case function_lword_to_udint :
  8750     {
  8750     {
  8751         symbol_c *last_type_symbol = NULL;
  8751         symbol_c *last_type_symbol = NULL;
  8752 
  8752 
  8753         {
  8753         {
  8754             identifier_c IN_param_name("IN");
  8754             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8755             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8755             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8756             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8756             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8757             symbol_c *IN_type_symbol = NULL;
  8757             symbol_c *IN_type_symbol = NULL;
  8758             
  8758             
  8759             /* Get the value from a foo(<param_value>) style call */
  8759             /* Get the value from a foo(<param_value>) style call */
  8760             if (IN_param_value == NULL)
  8760             if (IN_param_value == NULL)
  8761               IN_param_value = function_call_param_iterator.next_nf();
  8761               IN_param_value = function_call_param_iterator.next_nf();
  8769         
  8769         
  8770                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8770                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8771                 
  8771                 
  8772                 if (IN_type_symbol == NULL)
  8772                 if (IN_type_symbol == NULL)
  8773                   IN_type_symbol = last_type_symbol;
  8773                   IN_type_symbol = last_type_symbol;
  8774                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8774                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8775                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  8775                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  8776                 function_type_prefix = return_type_symbol;
  8776                 function_type_prefix = return_type_symbol;
  8777                 function_type_suffix = IN_type_symbol;
  8777                 function_type_suffix = IN_type_symbol;
  8778                 break;
  8778                 break;
  8779                 
  8779                 
  8792     case function_lword_to_word :
  8792     case function_lword_to_word :
  8793     {
  8793     {
  8794         symbol_c *last_type_symbol = NULL;
  8794         symbol_c *last_type_symbol = NULL;
  8795 
  8795 
  8796         {
  8796         {
  8797             identifier_c IN_param_name("IN");
  8797             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8798             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8798             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8799             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8799             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8800             symbol_c *IN_type_symbol = NULL;
  8800             symbol_c *IN_type_symbol = NULL;
  8801             
  8801             
  8802             /* Get the value from a foo(<param_value>) style call */
  8802             /* Get the value from a foo(<param_value>) style call */
  8803             if (IN_param_value == NULL)
  8803             if (IN_param_value == NULL)
  8804               IN_param_value = function_call_param_iterator.next_nf();
  8804               IN_param_value = function_call_param_iterator.next_nf();
  8812         
  8812         
  8813                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8813                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8814                 
  8814                 
  8815                 if (IN_type_symbol == NULL)
  8815                 if (IN_type_symbol == NULL)
  8816                   IN_type_symbol = last_type_symbol;
  8816                   IN_type_symbol = last_type_symbol;
  8817                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8817                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8818                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  8818                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  8819                 function_type_prefix = return_type_symbol;
  8819                 function_type_prefix = return_type_symbol;
  8820                 function_type_suffix = IN_type_symbol;
  8820                 function_type_suffix = IN_type_symbol;
  8821                 break;
  8821                 break;
  8822                 
  8822                 
  8835     case function_lword_to_string :
  8835     case function_lword_to_string :
  8836     {
  8836     {
  8837         symbol_c *last_type_symbol = NULL;
  8837         symbol_c *last_type_symbol = NULL;
  8838 
  8838 
  8839         {
  8839         {
  8840             identifier_c IN_param_name("IN");
  8840             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8841             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8841             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8842             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8842             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8843             symbol_c *IN_type_symbol = NULL;
  8843             symbol_c *IN_type_symbol = NULL;
  8844             
  8844             
  8845             /* Get the value from a foo(<param_value>) style call */
  8845             /* Get the value from a foo(<param_value>) style call */
  8846             if (IN_param_value == NULL)
  8846             if (IN_param_value == NULL)
  8847               IN_param_value = function_call_param_iterator.next_nf();
  8847               IN_param_value = function_call_param_iterator.next_nf();
  8855         
  8855         
  8856                 function_name = (symbol_c*)(new pragma_c("__bit_to_string"));
  8856                 function_name = (symbol_c*)(new pragma_c("__bit_to_string"));
  8857                 
  8857                 
  8858                 if (IN_type_symbol == NULL)
  8858                 if (IN_type_symbol == NULL)
  8859                   IN_type_symbol = last_type_symbol;
  8859                   IN_type_symbol = last_type_symbol;
  8860                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8860                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8861                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  8861                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  8862                 function_type_prefix = return_type_symbol;
  8862                 function_type_prefix = return_type_symbol;
  8863                 break;
  8863                 break;
  8864                 
  8864                 
  8865             }
  8865             }
  8877     case function_lword_to_uint :
  8877     case function_lword_to_uint :
  8878     {
  8878     {
  8879         symbol_c *last_type_symbol = NULL;
  8879         symbol_c *last_type_symbol = NULL;
  8880 
  8880 
  8881         {
  8881         {
  8882             identifier_c IN_param_name("IN");
  8882             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8883             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8883             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8884             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8884             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8885             symbol_c *IN_type_symbol = NULL;
  8885             symbol_c *IN_type_symbol = NULL;
  8886             
  8886             
  8887             /* Get the value from a foo(<param_value>) style call */
  8887             /* Get the value from a foo(<param_value>) style call */
  8888             if (IN_param_value == NULL)
  8888             if (IN_param_value == NULL)
  8889               IN_param_value = function_call_param_iterator.next_nf();
  8889               IN_param_value = function_call_param_iterator.next_nf();
  8897         
  8897         
  8898                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8898                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8899                 
  8899                 
  8900                 if (IN_type_symbol == NULL)
  8900                 if (IN_type_symbol == NULL)
  8901                   IN_type_symbol = last_type_symbol;
  8901                   IN_type_symbol = last_type_symbol;
  8902                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8902                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8903                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  8903                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
  8904                 function_type_prefix = return_type_symbol;
  8904                 function_type_prefix = return_type_symbol;
  8905                 function_type_suffix = IN_type_symbol;
  8905                 function_type_suffix = IN_type_symbol;
  8906                 break;
  8906                 break;
  8907                 
  8907                 
  8920     case function_lword_to_lreal :
  8920     case function_lword_to_lreal :
  8921     {
  8921     {
  8922         symbol_c *last_type_symbol = NULL;
  8922         symbol_c *last_type_symbol = NULL;
  8923 
  8923 
  8924         {
  8924         {
  8925             identifier_c IN_param_name("IN");
  8925             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8926             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8926             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8927             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8927             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8928             symbol_c *IN_type_symbol = NULL;
  8928             symbol_c *IN_type_symbol = NULL;
  8929             
  8929             
  8930             /* Get the value from a foo(<param_value>) style call */
  8930             /* Get the value from a foo(<param_value>) style call */
  8931             if (IN_param_value == NULL)
  8931             if (IN_param_value == NULL)
  8932               IN_param_value = function_call_param_iterator.next_nf();
  8932               IN_param_value = function_call_param_iterator.next_nf();
  8940         
  8940         
  8941                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8941                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8942                 
  8942                 
  8943                 if (IN_type_symbol == NULL)
  8943                 if (IN_type_symbol == NULL)
  8944                   IN_type_symbol = last_type_symbol;
  8944                   IN_type_symbol = last_type_symbol;
  8945                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8945                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8946                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  8946                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  8947                 function_type_prefix = return_type_symbol;
  8947                 function_type_prefix = return_type_symbol;
  8948                 function_type_suffix = IN_type_symbol;
  8948                 function_type_suffix = IN_type_symbol;
  8949                 break;
  8949                 break;
  8950                 
  8950                 
  8963     case function_lword_to_byte :
  8963     case function_lword_to_byte :
  8964     {
  8964     {
  8965         symbol_c *last_type_symbol = NULL;
  8965         symbol_c *last_type_symbol = NULL;
  8966 
  8966 
  8967         {
  8967         {
  8968             identifier_c IN_param_name("IN");
  8968             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  8969             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8969             /* Get the value from a foo(<param_name> = <param_value>) style call */
  8970             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  8970             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  8971             symbol_c *IN_type_symbol = NULL;
  8971             symbol_c *IN_type_symbol = NULL;
  8972             
  8972             
  8973             /* Get the value from a foo(<param_value>) style call */
  8973             /* Get the value from a foo(<param_value>) style call */
  8974             if (IN_param_value == NULL)
  8974             if (IN_param_value == NULL)
  8975               IN_param_value = function_call_param_iterator.next_nf();
  8975               IN_param_value = function_call_param_iterator.next_nf();
  8983         
  8983         
  8984                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8984                 function_name = (symbol_c*)(new pragma_c("__move_"));
  8985                 
  8985                 
  8986                 if (IN_type_symbol == NULL)
  8986                 if (IN_type_symbol == NULL)
  8987                   IN_type_symbol = last_type_symbol;
  8987                   IN_type_symbol = last_type_symbol;
  8988                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8988                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  8989                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  8989                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  8990                 function_type_prefix = return_type_symbol;
  8990                 function_type_prefix = return_type_symbol;
  8991                 function_type_suffix = IN_type_symbol;
  8991                 function_type_suffix = IN_type_symbol;
  8992                 break;
  8992                 break;
  8993                 
  8993                 
  9006     case function_lword_to_usint :
  9006     case function_lword_to_usint :
  9007     {
  9007     {
  9008         symbol_c *last_type_symbol = NULL;
  9008         symbol_c *last_type_symbol = NULL;
  9009 
  9009 
  9010         {
  9010         {
  9011             identifier_c IN_param_name("IN");
  9011             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9012             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9012             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9013             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9013             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9014             symbol_c *IN_type_symbol = NULL;
  9014             symbol_c *IN_type_symbol = NULL;
  9015             
  9015             
  9016             /* Get the value from a foo(<param_value>) style call */
  9016             /* Get the value from a foo(<param_value>) style call */
  9017             if (IN_param_value == NULL)
  9017             if (IN_param_value == NULL)
  9018               IN_param_value = function_call_param_iterator.next_nf();
  9018               IN_param_value = function_call_param_iterator.next_nf();
  9026         
  9026         
  9027                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9027                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9028                 
  9028                 
  9029                 if (IN_type_symbol == NULL)
  9029                 if (IN_type_symbol == NULL)
  9030                   IN_type_symbol = last_type_symbol;
  9030                   IN_type_symbol = last_type_symbol;
  9031                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9031                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9032                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  9032                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  9033                 function_type_prefix = return_type_symbol;
  9033                 function_type_prefix = return_type_symbol;
  9034                 function_type_suffix = IN_type_symbol;
  9034                 function_type_suffix = IN_type_symbol;
  9035                 break;
  9035                 break;
  9036                 
  9036                 
  9049     case function_lword_to_ulint :
  9049     case function_lword_to_ulint :
  9050     {
  9050     {
  9051         symbol_c *last_type_symbol = NULL;
  9051         symbol_c *last_type_symbol = NULL;
  9052 
  9052 
  9053         {
  9053         {
  9054             identifier_c IN_param_name("IN");
  9054             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9055             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9055             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9056             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9056             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9057             symbol_c *IN_type_symbol = NULL;
  9057             symbol_c *IN_type_symbol = NULL;
  9058             
  9058             
  9059             /* Get the value from a foo(<param_value>) style call */
  9059             /* Get the value from a foo(<param_value>) style call */
  9060             if (IN_param_value == NULL)
  9060             if (IN_param_value == NULL)
  9061               IN_param_value = function_call_param_iterator.next_nf();
  9061               IN_param_value = function_call_param_iterator.next_nf();
  9069         
  9069         
  9070                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9070                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9071                 
  9071                 
  9072                 if (IN_type_symbol == NULL)
  9072                 if (IN_type_symbol == NULL)
  9073                   IN_type_symbol = last_type_symbol;
  9073                   IN_type_symbol = last_type_symbol;
  9074                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9074                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9075                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  9075                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  9076                 function_type_prefix = return_type_symbol;
  9076                 function_type_prefix = return_type_symbol;
  9077                 function_type_suffix = IN_type_symbol;
  9077                 function_type_suffix = IN_type_symbol;
  9078                 break;
  9078                 break;
  9079                 
  9079                 
  9092     case function_lword_to_bool :
  9092     case function_lword_to_bool :
  9093     {
  9093     {
  9094         symbol_c *last_type_symbol = NULL;
  9094         symbol_c *last_type_symbol = NULL;
  9095 
  9095 
  9096         {
  9096         {
  9097             identifier_c IN_param_name("IN");
  9097             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9098             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9098             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9099             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9099             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9100             symbol_c *IN_type_symbol = NULL;
  9100             symbol_c *IN_type_symbol = NULL;
  9101             
  9101             
  9102             /* Get the value from a foo(<param_value>) style call */
  9102             /* Get the value from a foo(<param_value>) style call */
  9103             if (IN_param_value == NULL)
  9103             if (IN_param_value == NULL)
  9104               IN_param_value = function_call_param_iterator.next_nf();
  9104               IN_param_value = function_call_param_iterator.next_nf();
  9112         
  9112         
  9113                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9113                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9114                 
  9114                 
  9115                 if (IN_type_symbol == NULL)
  9115                 if (IN_type_symbol == NULL)
  9116                   IN_type_symbol = last_type_symbol;
  9116                   IN_type_symbol = last_type_symbol;
  9117                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9117                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9118                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  9118                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  9119                 function_type_prefix = return_type_symbol;
  9119                 function_type_prefix = return_type_symbol;
  9120                 function_type_suffix = IN_type_symbol;
  9120                 function_type_suffix = IN_type_symbol;
  9121                 break;
  9121                 break;
  9122                 
  9122                 
  9135     case function_lword_to_time :
  9135     case function_lword_to_time :
  9136     {
  9136     {
  9137         symbol_c *last_type_symbol = NULL;
  9137         symbol_c *last_type_symbol = NULL;
  9138 
  9138 
  9139         {
  9139         {
  9140             identifier_c IN_param_name("IN");
  9140             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9141             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9141             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9142             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9142             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9143             symbol_c *IN_type_symbol = NULL;
  9143             symbol_c *IN_type_symbol = NULL;
  9144             
  9144             
  9145             /* Get the value from a foo(<param_value>) style call */
  9145             /* Get the value from a foo(<param_value>) style call */
  9146             if (IN_param_value == NULL)
  9146             if (IN_param_value == NULL)
  9147               IN_param_value = function_call_param_iterator.next_nf();
  9147               IN_param_value = function_call_param_iterator.next_nf();
  9155         
  9155         
  9156                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  9156                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  9157                 
  9157                 
  9158                 if (IN_type_symbol == NULL)
  9158                 if (IN_type_symbol == NULL)
  9159                   IN_type_symbol = last_type_symbol;
  9159                   IN_type_symbol = last_type_symbol;
  9160                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9160                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9161                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  9161                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  9162                 function_type_prefix = return_type_symbol;
  9162                 function_type_prefix = return_type_symbol;
  9163                 break;
  9163                 break;
  9164                 
  9164                 
  9165             }
  9165             }
  9177     case function_lword_to_int :
  9177     case function_lword_to_int :
  9178     {
  9178     {
  9179         symbol_c *last_type_symbol = NULL;
  9179         symbol_c *last_type_symbol = NULL;
  9180 
  9180 
  9181         {
  9181         {
  9182             identifier_c IN_param_name("IN");
  9182             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9183             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9183             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9184             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9184             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9185             symbol_c *IN_type_symbol = NULL;
  9185             symbol_c *IN_type_symbol = NULL;
  9186             
  9186             
  9187             /* Get the value from a foo(<param_value>) style call */
  9187             /* Get the value from a foo(<param_value>) style call */
  9188             if (IN_param_value == NULL)
  9188             if (IN_param_value == NULL)
  9189               IN_param_value = function_call_param_iterator.next_nf();
  9189               IN_param_value = function_call_param_iterator.next_nf();
  9197         
  9197         
  9198                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9198                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9199                 
  9199                 
  9200                 if (IN_type_symbol == NULL)
  9200                 if (IN_type_symbol == NULL)
  9201                   IN_type_symbol = last_type_symbol;
  9201                   IN_type_symbol = last_type_symbol;
  9202                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9202                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9203                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  9203                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
  9204                 function_type_prefix = return_type_symbol;
  9204                 function_type_prefix = return_type_symbol;
  9205                 function_type_suffix = IN_type_symbol;
  9205                 function_type_suffix = IN_type_symbol;
  9206                 break;
  9206                 break;
  9207                 
  9207                 
  9220     case function_uint_to_real :
  9220     case function_uint_to_real :
  9221     {
  9221     {
  9222         symbol_c *last_type_symbol = NULL;
  9222         symbol_c *last_type_symbol = NULL;
  9223 
  9223 
  9224         {
  9224         {
  9225             identifier_c IN_param_name("IN");
  9225             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9226             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9226             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9227             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9227             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9228             symbol_c *IN_type_symbol = NULL;
  9228             symbol_c *IN_type_symbol = NULL;
  9229             
  9229             
  9230             /* Get the value from a foo(<param_value>) style call */
  9230             /* Get the value from a foo(<param_value>) style call */
  9231             if (IN_param_value == NULL)
  9231             if (IN_param_value == NULL)
  9232               IN_param_value = function_call_param_iterator.next_nf();
  9232               IN_param_value = function_call_param_iterator.next_nf();
  9240         
  9240         
  9241                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9241                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9242                 
  9242                 
  9243                 if (IN_type_symbol == NULL)
  9243                 if (IN_type_symbol == NULL)
  9244                   IN_type_symbol = last_type_symbol;
  9244                   IN_type_symbol = last_type_symbol;
  9245                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9245                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9246                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  9246                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
  9247                 function_type_prefix = return_type_symbol;
  9247                 function_type_prefix = return_type_symbol;
  9248                 function_type_suffix = IN_type_symbol;
  9248                 function_type_suffix = IN_type_symbol;
  9249                 break;
  9249                 break;
  9250                 
  9250                 
  9263     case function_uint_to_sint :
  9263     case function_uint_to_sint :
  9264     {
  9264     {
  9265         symbol_c *last_type_symbol = NULL;
  9265         symbol_c *last_type_symbol = NULL;
  9266 
  9266 
  9267         {
  9267         {
  9268             identifier_c IN_param_name("IN");
  9268             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9269             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9269             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9270             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9270             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9271             symbol_c *IN_type_symbol = NULL;
  9271             symbol_c *IN_type_symbol = NULL;
  9272             
  9272             
  9273             /* Get the value from a foo(<param_value>) style call */
  9273             /* Get the value from a foo(<param_value>) style call */
  9274             if (IN_param_value == NULL)
  9274             if (IN_param_value == NULL)
  9275               IN_param_value = function_call_param_iterator.next_nf();
  9275               IN_param_value = function_call_param_iterator.next_nf();
  9283         
  9283         
  9284                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9284                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9285                 
  9285                 
  9286                 if (IN_type_symbol == NULL)
  9286                 if (IN_type_symbol == NULL)
  9287                   IN_type_symbol = last_type_symbol;
  9287                   IN_type_symbol = last_type_symbol;
  9288                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9288                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9289                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  9289                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
  9290                 function_type_prefix = return_type_symbol;
  9290                 function_type_prefix = return_type_symbol;
  9291                 function_type_suffix = IN_type_symbol;
  9291                 function_type_suffix = IN_type_symbol;
  9292                 break;
  9292                 break;
  9293                 
  9293                 
  9306     case function_uint_to_lint :
  9306     case function_uint_to_lint :
  9307     {
  9307     {
  9308         symbol_c *last_type_symbol = NULL;
  9308         symbol_c *last_type_symbol = NULL;
  9309 
  9309 
  9310         {
  9310         {
  9311             identifier_c IN_param_name("IN");
  9311             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9312             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9312             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9313             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9313             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9314             symbol_c *IN_type_symbol = NULL;
  9314             symbol_c *IN_type_symbol = NULL;
  9315             
  9315             
  9316             /* Get the value from a foo(<param_value>) style call */
  9316             /* Get the value from a foo(<param_value>) style call */
  9317             if (IN_param_value == NULL)
  9317             if (IN_param_value == NULL)
  9318               IN_param_value = function_call_param_iterator.next_nf();
  9318               IN_param_value = function_call_param_iterator.next_nf();
  9326         
  9326         
  9327                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9327                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9328                 
  9328                 
  9329                 if (IN_type_symbol == NULL)
  9329                 if (IN_type_symbol == NULL)
  9330                   IN_type_symbol = last_type_symbol;
  9330                   IN_type_symbol = last_type_symbol;
  9331                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9331                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9332                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  9332                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
  9333                 function_type_prefix = return_type_symbol;
  9333                 function_type_prefix = return_type_symbol;
  9334                 function_type_suffix = IN_type_symbol;
  9334                 function_type_suffix = IN_type_symbol;
  9335                 break;
  9335                 break;
  9336                 
  9336                 
  9349     case function_uint_to_dint :
  9349     case function_uint_to_dint :
  9350     {
  9350     {
  9351         symbol_c *last_type_symbol = NULL;
  9351         symbol_c *last_type_symbol = NULL;
  9352 
  9352 
  9353         {
  9353         {
  9354             identifier_c IN_param_name("IN");
  9354             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9355             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9355             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9356             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9356             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9357             symbol_c *IN_type_symbol = NULL;
  9357             symbol_c *IN_type_symbol = NULL;
  9358             
  9358             
  9359             /* Get the value from a foo(<param_value>) style call */
  9359             /* Get the value from a foo(<param_value>) style call */
  9360             if (IN_param_value == NULL)
  9360             if (IN_param_value == NULL)
  9361               IN_param_value = function_call_param_iterator.next_nf();
  9361               IN_param_value = function_call_param_iterator.next_nf();
  9369         
  9369         
  9370                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9370                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9371                 
  9371                 
  9372                 if (IN_type_symbol == NULL)
  9372                 if (IN_type_symbol == NULL)
  9373                   IN_type_symbol = last_type_symbol;
  9373                   IN_type_symbol = last_type_symbol;
  9374                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9374                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9375                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  9375                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
  9376                 function_type_prefix = return_type_symbol;
  9376                 function_type_prefix = return_type_symbol;
  9377                 function_type_suffix = IN_type_symbol;
  9377                 function_type_suffix = IN_type_symbol;
  9378                 break;
  9378                 break;
  9379                 
  9379                 
  9392     case function_uint_to_date :
  9392     case function_uint_to_date :
  9393     {
  9393     {
  9394         symbol_c *last_type_symbol = NULL;
  9394         symbol_c *last_type_symbol = NULL;
  9395 
  9395 
  9396         {
  9396         {
  9397             identifier_c IN_param_name("IN");
  9397             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9398             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9398             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9399             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9399             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9400             symbol_c *IN_type_symbol = NULL;
  9400             symbol_c *IN_type_symbol = NULL;
  9401             
  9401             
  9402             /* Get the value from a foo(<param_value>) style call */
  9402             /* Get the value from a foo(<param_value>) style call */
  9403             if (IN_param_value == NULL)
  9403             if (IN_param_value == NULL)
  9404               IN_param_value = function_call_param_iterator.next_nf();
  9404               IN_param_value = function_call_param_iterator.next_nf();
  9412         
  9412         
  9413                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  9413                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  9414                 
  9414                 
  9415                 if (IN_type_symbol == NULL)
  9415                 if (IN_type_symbol == NULL)
  9416                   IN_type_symbol = last_type_symbol;
  9416                   IN_type_symbol = last_type_symbol;
  9417                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9417                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9418                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  9418                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
  9419                 function_type_prefix = return_type_symbol;
  9419                 function_type_prefix = return_type_symbol;
  9420                 break;
  9420                 break;
  9421                 
  9421                 
  9422             }
  9422             }
  9434     case function_uint_to_dword :
  9434     case function_uint_to_dword :
  9435     {
  9435     {
  9436         symbol_c *last_type_symbol = NULL;
  9436         symbol_c *last_type_symbol = NULL;
  9437 
  9437 
  9438         {
  9438         {
  9439             identifier_c IN_param_name("IN");
  9439             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9440             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9440             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9441             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9441             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9442             symbol_c *IN_type_symbol = NULL;
  9442             symbol_c *IN_type_symbol = NULL;
  9443             
  9443             
  9444             /* Get the value from a foo(<param_value>) style call */
  9444             /* Get the value from a foo(<param_value>) style call */
  9445             if (IN_param_value == NULL)
  9445             if (IN_param_value == NULL)
  9446               IN_param_value = function_call_param_iterator.next_nf();
  9446               IN_param_value = function_call_param_iterator.next_nf();
  9454         
  9454         
  9455                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9455                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9456                 
  9456                 
  9457                 if (IN_type_symbol == NULL)
  9457                 if (IN_type_symbol == NULL)
  9458                   IN_type_symbol = last_type_symbol;
  9458                   IN_type_symbol = last_type_symbol;
  9459                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9459                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9460                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  9460                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
  9461                 function_type_prefix = return_type_symbol;
  9461                 function_type_prefix = return_type_symbol;
  9462                 function_type_suffix = IN_type_symbol;
  9462                 function_type_suffix = IN_type_symbol;
  9463                 break;
  9463                 break;
  9464                 
  9464                 
  9477     case function_uint_to_dt :
  9477     case function_uint_to_dt :
  9478     {
  9478     {
  9479         symbol_c *last_type_symbol = NULL;
  9479         symbol_c *last_type_symbol = NULL;
  9480 
  9480 
  9481         {
  9481         {
  9482             identifier_c IN_param_name("IN");
  9482             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9483             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9483             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9484             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9484             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9485             symbol_c *IN_type_symbol = NULL;
  9485             symbol_c *IN_type_symbol = NULL;
  9486             
  9486             
  9487             /* Get the value from a foo(<param_value>) style call */
  9487             /* Get the value from a foo(<param_value>) style call */
  9488             if (IN_param_value == NULL)
  9488             if (IN_param_value == NULL)
  9489               IN_param_value = function_call_param_iterator.next_nf();
  9489               IN_param_value = function_call_param_iterator.next_nf();
  9497         
  9497         
  9498                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  9498                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  9499                 
  9499                 
  9500                 if (IN_type_symbol == NULL)
  9500                 if (IN_type_symbol == NULL)
  9501                   IN_type_symbol = last_type_symbol;
  9501                   IN_type_symbol = last_type_symbol;
  9502                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9502                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9503                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  9503                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
  9504                 function_type_prefix = return_type_symbol;
  9504                 function_type_prefix = return_type_symbol;
  9505                 break;
  9505                 break;
  9506                 
  9506                 
  9507             }
  9507             }
  9519     case function_uint_to_tod :
  9519     case function_uint_to_tod :
  9520     {
  9520     {
  9521         symbol_c *last_type_symbol = NULL;
  9521         symbol_c *last_type_symbol = NULL;
  9522 
  9522 
  9523         {
  9523         {
  9524             identifier_c IN_param_name("IN");
  9524             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9525             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9525             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9526             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9526             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9527             symbol_c *IN_type_symbol = NULL;
  9527             symbol_c *IN_type_symbol = NULL;
  9528             
  9528             
  9529             /* Get the value from a foo(<param_value>) style call */
  9529             /* Get the value from a foo(<param_value>) style call */
  9530             if (IN_param_value == NULL)
  9530             if (IN_param_value == NULL)
  9531               IN_param_value = function_call_param_iterator.next_nf();
  9531               IN_param_value = function_call_param_iterator.next_nf();
  9539         
  9539         
  9540                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  9540                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  9541                 
  9541                 
  9542                 if (IN_type_symbol == NULL)
  9542                 if (IN_type_symbol == NULL)
  9543                   IN_type_symbol = last_type_symbol;
  9543                   IN_type_symbol = last_type_symbol;
  9544                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9544                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9545                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  9545                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
  9546                 function_type_prefix = return_type_symbol;
  9546                 function_type_prefix = return_type_symbol;
  9547                 break;
  9547                 break;
  9548                 
  9548                 
  9549             }
  9549             }
  9561     case function_uint_to_udint :
  9561     case function_uint_to_udint :
  9562     {
  9562     {
  9563         symbol_c *last_type_symbol = NULL;
  9563         symbol_c *last_type_symbol = NULL;
  9564 
  9564 
  9565         {
  9565         {
  9566             identifier_c IN_param_name("IN");
  9566             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9567             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9567             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9568             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9568             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9569             symbol_c *IN_type_symbol = NULL;
  9569             symbol_c *IN_type_symbol = NULL;
  9570             
  9570             
  9571             /* Get the value from a foo(<param_value>) style call */
  9571             /* Get the value from a foo(<param_value>) style call */
  9572             if (IN_param_value == NULL)
  9572             if (IN_param_value == NULL)
  9573               IN_param_value = function_call_param_iterator.next_nf();
  9573               IN_param_value = function_call_param_iterator.next_nf();
  9581         
  9581         
  9582                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9582                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9583                 
  9583                 
  9584                 if (IN_type_symbol == NULL)
  9584                 if (IN_type_symbol == NULL)
  9585                   IN_type_symbol = last_type_symbol;
  9585                   IN_type_symbol = last_type_symbol;
  9586                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9586                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9587                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  9587                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
  9588                 function_type_prefix = return_type_symbol;
  9588                 function_type_prefix = return_type_symbol;
  9589                 function_type_suffix = IN_type_symbol;
  9589                 function_type_suffix = IN_type_symbol;
  9590                 break;
  9590                 break;
  9591                 
  9591                 
  9604     case function_uint_to_word :
  9604     case function_uint_to_word :
  9605     {
  9605     {
  9606         symbol_c *last_type_symbol = NULL;
  9606         symbol_c *last_type_symbol = NULL;
  9607 
  9607 
  9608         {
  9608         {
  9609             identifier_c IN_param_name("IN");
  9609             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9610             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9610             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9611             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9611             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9612             symbol_c *IN_type_symbol = NULL;
  9612             symbol_c *IN_type_symbol = NULL;
  9613             
  9613             
  9614             /* Get the value from a foo(<param_value>) style call */
  9614             /* Get the value from a foo(<param_value>) style call */
  9615             if (IN_param_value == NULL)
  9615             if (IN_param_value == NULL)
  9616               IN_param_value = function_call_param_iterator.next_nf();
  9616               IN_param_value = function_call_param_iterator.next_nf();
  9624         
  9624         
  9625                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9625                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9626                 
  9626                 
  9627                 if (IN_type_symbol == NULL)
  9627                 if (IN_type_symbol == NULL)
  9628                   IN_type_symbol = last_type_symbol;
  9628                   IN_type_symbol = last_type_symbol;
  9629                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9629                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9630                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  9630                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
  9631                 function_type_prefix = return_type_symbol;
  9631                 function_type_prefix = return_type_symbol;
  9632                 function_type_suffix = IN_type_symbol;
  9632                 function_type_suffix = IN_type_symbol;
  9633                 break;
  9633                 break;
  9634                 
  9634                 
  9647     case function_uint_to_string :
  9647     case function_uint_to_string :
  9648     {
  9648     {
  9649         symbol_c *last_type_symbol = NULL;
  9649         symbol_c *last_type_symbol = NULL;
  9650 
  9650 
  9651         {
  9651         {
  9652             identifier_c IN_param_name("IN");
  9652             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9653             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9653             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9654             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9654             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9655             symbol_c *IN_type_symbol = NULL;
  9655             symbol_c *IN_type_symbol = NULL;
  9656             
  9656             
  9657             /* Get the value from a foo(<param_value>) style call */
  9657             /* Get the value from a foo(<param_value>) style call */
  9658             if (IN_param_value == NULL)
  9658             if (IN_param_value == NULL)
  9659               IN_param_value = function_call_param_iterator.next_nf();
  9659               IN_param_value = function_call_param_iterator.next_nf();
  9667         
  9667         
  9668                 function_name = (symbol_c*)(new pragma_c("__uint_to_string"));
  9668                 function_name = (symbol_c*)(new pragma_c("__uint_to_string"));
  9669                 
  9669                 
  9670                 if (IN_type_symbol == NULL)
  9670                 if (IN_type_symbol == NULL)
  9671                   IN_type_symbol = last_type_symbol;
  9671                   IN_type_symbol = last_type_symbol;
  9672                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9672                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9673                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  9673                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
  9674                 function_type_prefix = return_type_symbol;
  9674                 function_type_prefix = return_type_symbol;
  9675                 break;
  9675                 break;
  9676                 
  9676                 
  9677             }
  9677             }
  9689     case function_uint_to_lword :
  9689     case function_uint_to_lword :
  9690     {
  9690     {
  9691         symbol_c *last_type_symbol = NULL;
  9691         symbol_c *last_type_symbol = NULL;
  9692 
  9692 
  9693         {
  9693         {
  9694             identifier_c IN_param_name("IN");
  9694             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9695             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9695             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9696             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9696             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9697             symbol_c *IN_type_symbol = NULL;
  9697             symbol_c *IN_type_symbol = NULL;
  9698             
  9698             
  9699             /* Get the value from a foo(<param_value>) style call */
  9699             /* Get the value from a foo(<param_value>) style call */
  9700             if (IN_param_value == NULL)
  9700             if (IN_param_value == NULL)
  9701               IN_param_value = function_call_param_iterator.next_nf();
  9701               IN_param_value = function_call_param_iterator.next_nf();
  9709         
  9709         
  9710                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9710                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9711                 
  9711                 
  9712                 if (IN_type_symbol == NULL)
  9712                 if (IN_type_symbol == NULL)
  9713                   IN_type_symbol = last_type_symbol;
  9713                   IN_type_symbol = last_type_symbol;
  9714                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9714                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9715                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  9715                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
  9716                 function_type_prefix = return_type_symbol;
  9716                 function_type_prefix = return_type_symbol;
  9717                 function_type_suffix = IN_type_symbol;
  9717                 function_type_suffix = IN_type_symbol;
  9718                 break;
  9718                 break;
  9719                 
  9719                 
  9732     case function_uint_to_lreal :
  9732     case function_uint_to_lreal :
  9733     {
  9733     {
  9734         symbol_c *last_type_symbol = NULL;
  9734         symbol_c *last_type_symbol = NULL;
  9735 
  9735 
  9736         {
  9736         {
  9737             identifier_c IN_param_name("IN");
  9737             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9738             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9738             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9739             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9739             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9740             symbol_c *IN_type_symbol = NULL;
  9740             symbol_c *IN_type_symbol = NULL;
  9741             
  9741             
  9742             /* Get the value from a foo(<param_value>) style call */
  9742             /* Get the value from a foo(<param_value>) style call */
  9743             if (IN_param_value == NULL)
  9743             if (IN_param_value == NULL)
  9744               IN_param_value = function_call_param_iterator.next_nf();
  9744               IN_param_value = function_call_param_iterator.next_nf();
  9752         
  9752         
  9753                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9753                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9754                 
  9754                 
  9755                 if (IN_type_symbol == NULL)
  9755                 if (IN_type_symbol == NULL)
  9756                   IN_type_symbol = last_type_symbol;
  9756                   IN_type_symbol = last_type_symbol;
  9757                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9757                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9758                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  9758                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
  9759                 function_type_prefix = return_type_symbol;
  9759                 function_type_prefix = return_type_symbol;
  9760                 function_type_suffix = IN_type_symbol;
  9760                 function_type_suffix = IN_type_symbol;
  9761                 break;
  9761                 break;
  9762                 
  9762                 
  9775     case function_uint_to_byte :
  9775     case function_uint_to_byte :
  9776     {
  9776     {
  9777         symbol_c *last_type_symbol = NULL;
  9777         symbol_c *last_type_symbol = NULL;
  9778 
  9778 
  9779         {
  9779         {
  9780             identifier_c IN_param_name("IN");
  9780             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9781             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9781             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9782             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9782             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9783             symbol_c *IN_type_symbol = NULL;
  9783             symbol_c *IN_type_symbol = NULL;
  9784             
  9784             
  9785             /* Get the value from a foo(<param_value>) style call */
  9785             /* Get the value from a foo(<param_value>) style call */
  9786             if (IN_param_value == NULL)
  9786             if (IN_param_value == NULL)
  9787               IN_param_value = function_call_param_iterator.next_nf();
  9787               IN_param_value = function_call_param_iterator.next_nf();
  9795         
  9795         
  9796                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9796                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9797                 
  9797                 
  9798                 if (IN_type_symbol == NULL)
  9798                 if (IN_type_symbol == NULL)
  9799                   IN_type_symbol = last_type_symbol;
  9799                   IN_type_symbol = last_type_symbol;
  9800                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9800                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9801                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  9801                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
  9802                 function_type_prefix = return_type_symbol;
  9802                 function_type_prefix = return_type_symbol;
  9803                 function_type_suffix = IN_type_symbol;
  9803                 function_type_suffix = IN_type_symbol;
  9804                 break;
  9804                 break;
  9805                 
  9805                 
  9818     case function_uint_to_usint :
  9818     case function_uint_to_usint :
  9819     {
  9819     {
  9820         symbol_c *last_type_symbol = NULL;
  9820         symbol_c *last_type_symbol = NULL;
  9821 
  9821 
  9822         {
  9822         {
  9823             identifier_c IN_param_name("IN");
  9823             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9824             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9824             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9825             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9825             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9826             symbol_c *IN_type_symbol = NULL;
  9826             symbol_c *IN_type_symbol = NULL;
  9827             
  9827             
  9828             /* Get the value from a foo(<param_value>) style call */
  9828             /* Get the value from a foo(<param_value>) style call */
  9829             if (IN_param_value == NULL)
  9829             if (IN_param_value == NULL)
  9830               IN_param_value = function_call_param_iterator.next_nf();
  9830               IN_param_value = function_call_param_iterator.next_nf();
  9838         
  9838         
  9839                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9839                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9840                 
  9840                 
  9841                 if (IN_type_symbol == NULL)
  9841                 if (IN_type_symbol == NULL)
  9842                   IN_type_symbol = last_type_symbol;
  9842                   IN_type_symbol = last_type_symbol;
  9843                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9843                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9844                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  9844                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
  9845                 function_type_prefix = return_type_symbol;
  9845                 function_type_prefix = return_type_symbol;
  9846                 function_type_suffix = IN_type_symbol;
  9846                 function_type_suffix = IN_type_symbol;
  9847                 break;
  9847                 break;
  9848                 
  9848                 
  9861     case function_uint_to_ulint :
  9861     case function_uint_to_ulint :
  9862     {
  9862     {
  9863         symbol_c *last_type_symbol = NULL;
  9863         symbol_c *last_type_symbol = NULL;
  9864 
  9864 
  9865         {
  9865         {
  9866             identifier_c IN_param_name("IN");
  9866             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9867             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9867             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9868             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9868             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9869             symbol_c *IN_type_symbol = NULL;
  9869             symbol_c *IN_type_symbol = NULL;
  9870             
  9870             
  9871             /* Get the value from a foo(<param_value>) style call */
  9871             /* Get the value from a foo(<param_value>) style call */
  9872             if (IN_param_value == NULL)
  9872             if (IN_param_value == NULL)
  9873               IN_param_value = function_call_param_iterator.next_nf();
  9873               IN_param_value = function_call_param_iterator.next_nf();
  9881         
  9881         
  9882                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9882                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9883                 
  9883                 
  9884                 if (IN_type_symbol == NULL)
  9884                 if (IN_type_symbol == NULL)
  9885                   IN_type_symbol = last_type_symbol;
  9885                   IN_type_symbol = last_type_symbol;
  9886                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9886                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9887                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  9887                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
  9888                 function_type_prefix = return_type_symbol;
  9888                 function_type_prefix = return_type_symbol;
  9889                 function_type_suffix = IN_type_symbol;
  9889                 function_type_suffix = IN_type_symbol;
  9890                 break;
  9890                 break;
  9891                 
  9891                 
  9904     case function_uint_to_bool :
  9904     case function_uint_to_bool :
  9905     {
  9905     {
  9906         symbol_c *last_type_symbol = NULL;
  9906         symbol_c *last_type_symbol = NULL;
  9907 
  9907 
  9908         {
  9908         {
  9909             identifier_c IN_param_name("IN");
  9909             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9910             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9910             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9911             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9911             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9912             symbol_c *IN_type_symbol = NULL;
  9912             symbol_c *IN_type_symbol = NULL;
  9913             
  9913             
  9914             /* Get the value from a foo(<param_value>) style call */
  9914             /* Get the value from a foo(<param_value>) style call */
  9915             if (IN_param_value == NULL)
  9915             if (IN_param_value == NULL)
  9916               IN_param_value = function_call_param_iterator.next_nf();
  9916               IN_param_value = function_call_param_iterator.next_nf();
  9924         
  9924         
  9925                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9925                 function_name = (symbol_c*)(new pragma_c("__move_"));
  9926                 
  9926                 
  9927                 if (IN_type_symbol == NULL)
  9927                 if (IN_type_symbol == NULL)
  9928                   IN_type_symbol = last_type_symbol;
  9928                   IN_type_symbol = last_type_symbol;
  9929                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9929                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9930                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  9930                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
  9931                 function_type_prefix = return_type_symbol;
  9931                 function_type_prefix = return_type_symbol;
  9932                 function_type_suffix = IN_type_symbol;
  9932                 function_type_suffix = IN_type_symbol;
  9933                 break;
  9933                 break;
  9934                 
  9934                 
  9947     case function_uint_to_time :
  9947     case function_uint_to_time :
  9948     {
  9948     {
  9949         symbol_c *last_type_symbol = NULL;
  9949         symbol_c *last_type_symbol = NULL;
  9950 
  9950 
  9951         {
  9951         {
  9952             identifier_c IN_param_name("IN");
  9952             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9953             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9953             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9954             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9954             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9955             symbol_c *IN_type_symbol = NULL;
  9955             symbol_c *IN_type_symbol = NULL;
  9956             
  9956             
  9957             /* Get the value from a foo(<param_value>) style call */
  9957             /* Get the value from a foo(<param_value>) style call */
  9958             if (IN_param_value == NULL)
  9958             if (IN_param_value == NULL)
  9959               IN_param_value = function_call_param_iterator.next_nf();
  9959               IN_param_value = function_call_param_iterator.next_nf();
  9967         
  9967         
  9968                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  9968                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
  9969                 
  9969                 
  9970                 if (IN_type_symbol == NULL)
  9970                 if (IN_type_symbol == NULL)
  9971                   IN_type_symbol = last_type_symbol;
  9971                   IN_type_symbol = last_type_symbol;
  9972                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9972                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
  9973                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  9973                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
  9974                 function_type_prefix = return_type_symbol;
  9974                 function_type_prefix = return_type_symbol;
  9975                 break;
  9975                 break;
  9976                 
  9976                 
  9977             }
  9977             }
  9989     case function_uint_to_int :
  9989     case function_uint_to_int :
  9990     {
  9990     {
  9991         symbol_c *last_type_symbol = NULL;
  9991         symbol_c *last_type_symbol = NULL;
  9992 
  9992 
  9993         {
  9993         {
  9994             identifier_c IN_param_name("IN");
  9994             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
  9995             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9995             /* Get the value from a foo(<param_name> = <param_value>) style call */
  9996             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
  9996             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
  9997             symbol_c *IN_type_symbol = NULL;
  9997             symbol_c *IN_type_symbol = NULL;
  9998             
  9998             
  9999             /* Get the value from a foo(<param_value>) style call */
  9999             /* Get the value from a foo(<param_value>) style call */
 10000             if (IN_param_value == NULL)
 10000             if (IN_param_value == NULL)
 10001               IN_param_value = function_call_param_iterator.next_nf();
 10001               IN_param_value = function_call_param_iterator.next_nf();
 10009         
 10009         
 10010                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10010                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10011                 
 10011                 
 10012                 if (IN_type_symbol == NULL)
 10012                 if (IN_type_symbol == NULL)
 10013                   IN_type_symbol = last_type_symbol;
 10013                   IN_type_symbol = last_type_symbol;
 10014                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10014                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10015                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 10015                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 10016                 function_type_prefix = return_type_symbol;
 10016                 function_type_prefix = return_type_symbol;
 10017                 function_type_suffix = IN_type_symbol;
 10017                 function_type_suffix = IN_type_symbol;
 10018                 break;
 10018                 break;
 10019                 
 10019                 
 10032     case function_lreal_to_real :
 10032     case function_lreal_to_real :
 10033     {
 10033     {
 10034         symbol_c *last_type_symbol = NULL;
 10034         symbol_c *last_type_symbol = NULL;
 10035 
 10035 
 10036         {
 10036         {
 10037             identifier_c IN_param_name("IN");
 10037             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10038             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10038             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10039             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10039             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10040             symbol_c *IN_type_symbol = NULL;
 10040             symbol_c *IN_type_symbol = NULL;
 10041             
 10041             
 10042             /* Get the value from a foo(<param_value>) style call */
 10042             /* Get the value from a foo(<param_value>) style call */
 10043             if (IN_param_value == NULL)
 10043             if (IN_param_value == NULL)
 10044               IN_param_value = function_call_param_iterator.next_nf();
 10044               IN_param_value = function_call_param_iterator.next_nf();
 10052         
 10052         
 10053                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10053                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10054                 
 10054                 
 10055                 if (IN_type_symbol == NULL)
 10055                 if (IN_type_symbol == NULL)
 10056                   IN_type_symbol = last_type_symbol;
 10056                   IN_type_symbol = last_type_symbol;
 10057                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10057                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10058                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 10058                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 10059                 function_type_prefix = return_type_symbol;
 10059                 function_type_prefix = return_type_symbol;
 10060                 function_type_suffix = IN_type_symbol;
 10060                 function_type_suffix = IN_type_symbol;
 10061                 break;
 10061                 break;
 10062                 
 10062                 
 10075     case function_lreal_to_sint :
 10075     case function_lreal_to_sint :
 10076     {
 10076     {
 10077         symbol_c *last_type_symbol = NULL;
 10077         symbol_c *last_type_symbol = NULL;
 10078 
 10078 
 10079         {
 10079         {
 10080             identifier_c IN_param_name("IN");
 10080             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10081             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10081             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10082             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10082             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10083             symbol_c *IN_type_symbol = NULL;
 10083             symbol_c *IN_type_symbol = NULL;
 10084             
 10084             
 10085             /* Get the value from a foo(<param_value>) style call */
 10085             /* Get the value from a foo(<param_value>) style call */
 10086             if (IN_param_value == NULL)
 10086             if (IN_param_value == NULL)
 10087               IN_param_value = function_call_param_iterator.next_nf();
 10087               IN_param_value = function_call_param_iterator.next_nf();
 10095         
 10095         
 10096                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10096                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10097                 
 10097                 
 10098                 if (IN_type_symbol == NULL)
 10098                 if (IN_type_symbol == NULL)
 10099                   IN_type_symbol = last_type_symbol;
 10099                   IN_type_symbol = last_type_symbol;
 10100                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10100                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10101                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 10101                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 10102                 function_type_prefix = return_type_symbol;
 10102                 function_type_prefix = return_type_symbol;
 10103                 function_type_suffix = IN_type_symbol;
 10103                 function_type_suffix = IN_type_symbol;
 10104                 break;
 10104                 break;
 10105                 
 10105                 
 10118     case function_lreal_to_lint :
 10118     case function_lreal_to_lint :
 10119     {
 10119     {
 10120         symbol_c *last_type_symbol = NULL;
 10120         symbol_c *last_type_symbol = NULL;
 10121 
 10121 
 10122         {
 10122         {
 10123             identifier_c IN_param_name("IN");
 10123             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10124             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10124             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10125             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10125             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10126             symbol_c *IN_type_symbol = NULL;
 10126             symbol_c *IN_type_symbol = NULL;
 10127             
 10127             
 10128             /* Get the value from a foo(<param_value>) style call */
 10128             /* Get the value from a foo(<param_value>) style call */
 10129             if (IN_param_value == NULL)
 10129             if (IN_param_value == NULL)
 10130               IN_param_value = function_call_param_iterator.next_nf();
 10130               IN_param_value = function_call_param_iterator.next_nf();
 10138         
 10138         
 10139                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10139                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10140                 
 10140                 
 10141                 if (IN_type_symbol == NULL)
 10141                 if (IN_type_symbol == NULL)
 10142                   IN_type_symbol = last_type_symbol;
 10142                   IN_type_symbol = last_type_symbol;
 10143                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10143                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10144                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 10144                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 10145                 function_type_prefix = return_type_symbol;
 10145                 function_type_prefix = return_type_symbol;
 10146                 function_type_suffix = IN_type_symbol;
 10146                 function_type_suffix = IN_type_symbol;
 10147                 break;
 10147                 break;
 10148                 
 10148                 
 10161     case function_lreal_to_dint :
 10161     case function_lreal_to_dint :
 10162     {
 10162     {
 10163         symbol_c *last_type_symbol = NULL;
 10163         symbol_c *last_type_symbol = NULL;
 10164 
 10164 
 10165         {
 10165         {
 10166             identifier_c IN_param_name("IN");
 10166             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10167             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10167             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10168             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10168             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10169             symbol_c *IN_type_symbol = NULL;
 10169             symbol_c *IN_type_symbol = NULL;
 10170             
 10170             
 10171             /* Get the value from a foo(<param_value>) style call */
 10171             /* Get the value from a foo(<param_value>) style call */
 10172             if (IN_param_value == NULL)
 10172             if (IN_param_value == NULL)
 10173               IN_param_value = function_call_param_iterator.next_nf();
 10173               IN_param_value = function_call_param_iterator.next_nf();
 10181         
 10181         
 10182                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10182                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10183                 
 10183                 
 10184                 if (IN_type_symbol == NULL)
 10184                 if (IN_type_symbol == NULL)
 10185                   IN_type_symbol = last_type_symbol;
 10185                   IN_type_symbol = last_type_symbol;
 10186                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10186                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10187                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 10187                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 10188                 function_type_prefix = return_type_symbol;
 10188                 function_type_prefix = return_type_symbol;
 10189                 function_type_suffix = IN_type_symbol;
 10189                 function_type_suffix = IN_type_symbol;
 10190                 break;
 10190                 break;
 10191                 
 10191                 
 10204     case function_lreal_to_date :
 10204     case function_lreal_to_date :
 10205     {
 10205     {
 10206         symbol_c *last_type_symbol = NULL;
 10206         symbol_c *last_type_symbol = NULL;
 10207 
 10207 
 10208         {
 10208         {
 10209             identifier_c IN_param_name("IN");
 10209             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10210             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10210             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10211             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10211             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10212             symbol_c *IN_type_symbol = NULL;
 10212             symbol_c *IN_type_symbol = NULL;
 10213             
 10213             
 10214             /* Get the value from a foo(<param_value>) style call */
 10214             /* Get the value from a foo(<param_value>) style call */
 10215             if (IN_param_value == NULL)
 10215             if (IN_param_value == NULL)
 10216               IN_param_value = function_call_param_iterator.next_nf();
 10216               IN_param_value = function_call_param_iterator.next_nf();
 10224         
 10224         
 10225                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
 10225                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
 10226                 
 10226                 
 10227                 if (IN_type_symbol == NULL)
 10227                 if (IN_type_symbol == NULL)
 10228                   IN_type_symbol = last_type_symbol;
 10228                   IN_type_symbol = last_type_symbol;
 10229                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10229                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10230                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 10230                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 10231                 function_type_prefix = return_type_symbol;
 10231                 function_type_prefix = return_type_symbol;
 10232                 break;
 10232                 break;
 10233                 
 10233                 
 10234             }
 10234             }
 10246     case function_lreal_to_dword :
 10246     case function_lreal_to_dword :
 10247     {
 10247     {
 10248         symbol_c *last_type_symbol = NULL;
 10248         symbol_c *last_type_symbol = NULL;
 10249 
 10249 
 10250         {
 10250         {
 10251             identifier_c IN_param_name("IN");
 10251             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10252             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10252             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10253             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10253             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10254             symbol_c *IN_type_symbol = NULL;
 10254             symbol_c *IN_type_symbol = NULL;
 10255             
 10255             
 10256             /* Get the value from a foo(<param_value>) style call */
 10256             /* Get the value from a foo(<param_value>) style call */
 10257             if (IN_param_value == NULL)
 10257             if (IN_param_value == NULL)
 10258               IN_param_value = function_call_param_iterator.next_nf();
 10258               IN_param_value = function_call_param_iterator.next_nf();
 10266         
 10266         
 10267                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10267                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10268                 
 10268                 
 10269                 if (IN_type_symbol == NULL)
 10269                 if (IN_type_symbol == NULL)
 10270                   IN_type_symbol = last_type_symbol;
 10270                   IN_type_symbol = last_type_symbol;
 10271                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10271                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10272                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 10272                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 10273                 function_type_prefix = return_type_symbol;
 10273                 function_type_prefix = return_type_symbol;
 10274                 function_type_suffix = IN_type_symbol;
 10274                 function_type_suffix = IN_type_symbol;
 10275                 break;
 10275                 break;
 10276                 
 10276                 
 10289     case function_lreal_to_dt :
 10289     case function_lreal_to_dt :
 10290     {
 10290     {
 10291         symbol_c *last_type_symbol = NULL;
 10291         symbol_c *last_type_symbol = NULL;
 10292 
 10292 
 10293         {
 10293         {
 10294             identifier_c IN_param_name("IN");
 10294             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10295             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10295             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10296             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10296             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10297             symbol_c *IN_type_symbol = NULL;
 10297             symbol_c *IN_type_symbol = NULL;
 10298             
 10298             
 10299             /* Get the value from a foo(<param_value>) style call */
 10299             /* Get the value from a foo(<param_value>) style call */
 10300             if (IN_param_value == NULL)
 10300             if (IN_param_value == NULL)
 10301               IN_param_value = function_call_param_iterator.next_nf();
 10301               IN_param_value = function_call_param_iterator.next_nf();
 10309         
 10309         
 10310                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
 10310                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
 10311                 
 10311                 
 10312                 if (IN_type_symbol == NULL)
 10312                 if (IN_type_symbol == NULL)
 10313                   IN_type_symbol = last_type_symbol;
 10313                   IN_type_symbol = last_type_symbol;
 10314                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10314                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10315                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 10315                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 10316                 function_type_prefix = return_type_symbol;
 10316                 function_type_prefix = return_type_symbol;
 10317                 break;
 10317                 break;
 10318                 
 10318                 
 10319             }
 10319             }
 10331     case function_lreal_to_tod :
 10331     case function_lreal_to_tod :
 10332     {
 10332     {
 10333         symbol_c *last_type_symbol = NULL;
 10333         symbol_c *last_type_symbol = NULL;
 10334 
 10334 
 10335         {
 10335         {
 10336             identifier_c IN_param_name("IN");
 10336             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10337             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10337             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10338             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10338             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10339             symbol_c *IN_type_symbol = NULL;
 10339             symbol_c *IN_type_symbol = NULL;
 10340             
 10340             
 10341             /* Get the value from a foo(<param_value>) style call */
 10341             /* Get the value from a foo(<param_value>) style call */
 10342             if (IN_param_value == NULL)
 10342             if (IN_param_value == NULL)
 10343               IN_param_value = function_call_param_iterator.next_nf();
 10343               IN_param_value = function_call_param_iterator.next_nf();
 10351         
 10351         
 10352                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
 10352                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
 10353                 
 10353                 
 10354                 if (IN_type_symbol == NULL)
 10354                 if (IN_type_symbol == NULL)
 10355                   IN_type_symbol = last_type_symbol;
 10355                   IN_type_symbol = last_type_symbol;
 10356                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10356                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10357                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 10357                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 10358                 function_type_prefix = return_type_symbol;
 10358                 function_type_prefix = return_type_symbol;
 10359                 break;
 10359                 break;
 10360                 
 10360                 
 10361             }
 10361             }
 10373     case function_lreal_to_udint :
 10373     case function_lreal_to_udint :
 10374     {
 10374     {
 10375         symbol_c *last_type_symbol = NULL;
 10375         symbol_c *last_type_symbol = NULL;
 10376 
 10376 
 10377         {
 10377         {
 10378             identifier_c IN_param_name("IN");
 10378             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10379             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10379             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10380             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10380             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10381             symbol_c *IN_type_symbol = NULL;
 10381             symbol_c *IN_type_symbol = NULL;
 10382             
 10382             
 10383             /* Get the value from a foo(<param_value>) style call */
 10383             /* Get the value from a foo(<param_value>) style call */
 10384             if (IN_param_value == NULL)
 10384             if (IN_param_value == NULL)
 10385               IN_param_value = function_call_param_iterator.next_nf();
 10385               IN_param_value = function_call_param_iterator.next_nf();
 10393         
 10393         
 10394                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10394                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10395                 
 10395                 
 10396                 if (IN_type_symbol == NULL)
 10396                 if (IN_type_symbol == NULL)
 10397                   IN_type_symbol = last_type_symbol;
 10397                   IN_type_symbol = last_type_symbol;
 10398                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10398                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10399                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 10399                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 10400                 function_type_prefix = return_type_symbol;
 10400                 function_type_prefix = return_type_symbol;
 10401                 function_type_suffix = IN_type_symbol;
 10401                 function_type_suffix = IN_type_symbol;
 10402                 break;
 10402                 break;
 10403                 
 10403                 
 10416     case function_lreal_to_word :
 10416     case function_lreal_to_word :
 10417     {
 10417     {
 10418         symbol_c *last_type_symbol = NULL;
 10418         symbol_c *last_type_symbol = NULL;
 10419 
 10419 
 10420         {
 10420         {
 10421             identifier_c IN_param_name("IN");
 10421             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10422             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10422             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10423             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10423             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10424             symbol_c *IN_type_symbol = NULL;
 10424             symbol_c *IN_type_symbol = NULL;
 10425             
 10425             
 10426             /* Get the value from a foo(<param_value>) style call */
 10426             /* Get the value from a foo(<param_value>) style call */
 10427             if (IN_param_value == NULL)
 10427             if (IN_param_value == NULL)
 10428               IN_param_value = function_call_param_iterator.next_nf();
 10428               IN_param_value = function_call_param_iterator.next_nf();
 10436         
 10436         
 10437                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10437                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10438                 
 10438                 
 10439                 if (IN_type_symbol == NULL)
 10439                 if (IN_type_symbol == NULL)
 10440                   IN_type_symbol = last_type_symbol;
 10440                   IN_type_symbol = last_type_symbol;
 10441                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10441                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10442                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 10442                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 10443                 function_type_prefix = return_type_symbol;
 10443                 function_type_prefix = return_type_symbol;
 10444                 function_type_suffix = IN_type_symbol;
 10444                 function_type_suffix = IN_type_symbol;
 10445                 break;
 10445                 break;
 10446                 
 10446                 
 10459     case function_lreal_to_string :
 10459     case function_lreal_to_string :
 10460     {
 10460     {
 10461         symbol_c *last_type_symbol = NULL;
 10461         symbol_c *last_type_symbol = NULL;
 10462 
 10462 
 10463         {
 10463         {
 10464             identifier_c IN_param_name("IN");
 10464             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10465             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10465             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10466             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10466             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10467             symbol_c *IN_type_symbol = NULL;
 10467             symbol_c *IN_type_symbol = NULL;
 10468             
 10468             
 10469             /* Get the value from a foo(<param_value>) style call */
 10469             /* Get the value from a foo(<param_value>) style call */
 10470             if (IN_param_value == NULL)
 10470             if (IN_param_value == NULL)
 10471               IN_param_value = function_call_param_iterator.next_nf();
 10471               IN_param_value = function_call_param_iterator.next_nf();
 10479         
 10479         
 10480                 function_name = (symbol_c*)(new pragma_c("__real_to_string"));
 10480                 function_name = (symbol_c*)(new pragma_c("__real_to_string"));
 10481                 
 10481                 
 10482                 if (IN_type_symbol == NULL)
 10482                 if (IN_type_symbol == NULL)
 10483                   IN_type_symbol = last_type_symbol;
 10483                   IN_type_symbol = last_type_symbol;
 10484                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10484                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10485                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 10485                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 10486                 function_type_prefix = return_type_symbol;
 10486                 function_type_prefix = return_type_symbol;
 10487                 break;
 10487                 break;
 10488                 
 10488                 
 10489             }
 10489             }
 10501     case function_lreal_to_lword :
 10501     case function_lreal_to_lword :
 10502     {
 10502     {
 10503         symbol_c *last_type_symbol = NULL;
 10503         symbol_c *last_type_symbol = NULL;
 10504 
 10504 
 10505         {
 10505         {
 10506             identifier_c IN_param_name("IN");
 10506             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10507             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10507             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10508             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10508             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10509             symbol_c *IN_type_symbol = NULL;
 10509             symbol_c *IN_type_symbol = NULL;
 10510             
 10510             
 10511             /* Get the value from a foo(<param_value>) style call */
 10511             /* Get the value from a foo(<param_value>) style call */
 10512             if (IN_param_value == NULL)
 10512             if (IN_param_value == NULL)
 10513               IN_param_value = function_call_param_iterator.next_nf();
 10513               IN_param_value = function_call_param_iterator.next_nf();
 10521         
 10521         
 10522                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10522                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10523                 
 10523                 
 10524                 if (IN_type_symbol == NULL)
 10524                 if (IN_type_symbol == NULL)
 10525                   IN_type_symbol = last_type_symbol;
 10525                   IN_type_symbol = last_type_symbol;
 10526                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10526                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10527                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 10527                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 10528                 function_type_prefix = return_type_symbol;
 10528                 function_type_prefix = return_type_symbol;
 10529                 function_type_suffix = IN_type_symbol;
 10529                 function_type_suffix = IN_type_symbol;
 10530                 break;
 10530                 break;
 10531                 
 10531                 
 10544     case function_lreal_to_uint :
 10544     case function_lreal_to_uint :
 10545     {
 10545     {
 10546         symbol_c *last_type_symbol = NULL;
 10546         symbol_c *last_type_symbol = NULL;
 10547 
 10547 
 10548         {
 10548         {
 10549             identifier_c IN_param_name("IN");
 10549             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10550             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10550             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10551             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10551             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10552             symbol_c *IN_type_symbol = NULL;
 10552             symbol_c *IN_type_symbol = NULL;
 10553             
 10553             
 10554             /* Get the value from a foo(<param_value>) style call */
 10554             /* Get the value from a foo(<param_value>) style call */
 10555             if (IN_param_value == NULL)
 10555             if (IN_param_value == NULL)
 10556               IN_param_value = function_call_param_iterator.next_nf();
 10556               IN_param_value = function_call_param_iterator.next_nf();
 10564         
 10564         
 10565                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10565                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10566                 
 10566                 
 10567                 if (IN_type_symbol == NULL)
 10567                 if (IN_type_symbol == NULL)
 10568                   IN_type_symbol = last_type_symbol;
 10568                   IN_type_symbol = last_type_symbol;
 10569                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10569                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10570                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 10570                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 10571                 function_type_prefix = return_type_symbol;
 10571                 function_type_prefix = return_type_symbol;
 10572                 function_type_suffix = IN_type_symbol;
 10572                 function_type_suffix = IN_type_symbol;
 10573                 break;
 10573                 break;
 10574                 
 10574                 
 10587     case function_lreal_to_byte :
 10587     case function_lreal_to_byte :
 10588     {
 10588     {
 10589         symbol_c *last_type_symbol = NULL;
 10589         symbol_c *last_type_symbol = NULL;
 10590 
 10590 
 10591         {
 10591         {
 10592             identifier_c IN_param_name("IN");
 10592             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10593             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10593             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10594             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10594             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10595             symbol_c *IN_type_symbol = NULL;
 10595             symbol_c *IN_type_symbol = NULL;
 10596             
 10596             
 10597             /* Get the value from a foo(<param_value>) style call */
 10597             /* Get the value from a foo(<param_value>) style call */
 10598             if (IN_param_value == NULL)
 10598             if (IN_param_value == NULL)
 10599               IN_param_value = function_call_param_iterator.next_nf();
 10599               IN_param_value = function_call_param_iterator.next_nf();
 10607         
 10607         
 10608                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10608                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10609                 
 10609                 
 10610                 if (IN_type_symbol == NULL)
 10610                 if (IN_type_symbol == NULL)
 10611                   IN_type_symbol = last_type_symbol;
 10611                   IN_type_symbol = last_type_symbol;
 10612                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10612                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10613                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 10613                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 10614                 function_type_prefix = return_type_symbol;
 10614                 function_type_prefix = return_type_symbol;
 10615                 function_type_suffix = IN_type_symbol;
 10615                 function_type_suffix = IN_type_symbol;
 10616                 break;
 10616                 break;
 10617                 
 10617                 
 10630     case function_lreal_to_usint :
 10630     case function_lreal_to_usint :
 10631     {
 10631     {
 10632         symbol_c *last_type_symbol = NULL;
 10632         symbol_c *last_type_symbol = NULL;
 10633 
 10633 
 10634         {
 10634         {
 10635             identifier_c IN_param_name("IN");
 10635             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10636             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10636             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10637             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10637             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10638             symbol_c *IN_type_symbol = NULL;
 10638             symbol_c *IN_type_symbol = NULL;
 10639             
 10639             
 10640             /* Get the value from a foo(<param_value>) style call */
 10640             /* Get the value from a foo(<param_value>) style call */
 10641             if (IN_param_value == NULL)
 10641             if (IN_param_value == NULL)
 10642               IN_param_value = function_call_param_iterator.next_nf();
 10642               IN_param_value = function_call_param_iterator.next_nf();
 10650         
 10650         
 10651                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10651                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10652                 
 10652                 
 10653                 if (IN_type_symbol == NULL)
 10653                 if (IN_type_symbol == NULL)
 10654                   IN_type_symbol = last_type_symbol;
 10654                   IN_type_symbol = last_type_symbol;
 10655                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10655                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10656                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 10656                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 10657                 function_type_prefix = return_type_symbol;
 10657                 function_type_prefix = return_type_symbol;
 10658                 function_type_suffix = IN_type_symbol;
 10658                 function_type_suffix = IN_type_symbol;
 10659                 break;
 10659                 break;
 10660                 
 10660                 
 10673     case function_lreal_to_ulint :
 10673     case function_lreal_to_ulint :
 10674     {
 10674     {
 10675         symbol_c *last_type_symbol = NULL;
 10675         symbol_c *last_type_symbol = NULL;
 10676 
 10676 
 10677         {
 10677         {
 10678             identifier_c IN_param_name("IN");
 10678             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10679             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10679             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10680             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10680             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10681             symbol_c *IN_type_symbol = NULL;
 10681             symbol_c *IN_type_symbol = NULL;
 10682             
 10682             
 10683             /* Get the value from a foo(<param_value>) style call */
 10683             /* Get the value from a foo(<param_value>) style call */
 10684             if (IN_param_value == NULL)
 10684             if (IN_param_value == NULL)
 10685               IN_param_value = function_call_param_iterator.next_nf();
 10685               IN_param_value = function_call_param_iterator.next_nf();
 10693         
 10693         
 10694                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10694                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10695                 
 10695                 
 10696                 if (IN_type_symbol == NULL)
 10696                 if (IN_type_symbol == NULL)
 10697                   IN_type_symbol = last_type_symbol;
 10697                   IN_type_symbol = last_type_symbol;
 10698                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10698                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10699                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 10699                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 10700                 function_type_prefix = return_type_symbol;
 10700                 function_type_prefix = return_type_symbol;
 10701                 function_type_suffix = IN_type_symbol;
 10701                 function_type_suffix = IN_type_symbol;
 10702                 break;
 10702                 break;
 10703                 
 10703                 
 10716     case function_lreal_to_bool :
 10716     case function_lreal_to_bool :
 10717     {
 10717     {
 10718         symbol_c *last_type_symbol = NULL;
 10718         symbol_c *last_type_symbol = NULL;
 10719 
 10719 
 10720         {
 10720         {
 10721             identifier_c IN_param_name("IN");
 10721             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10722             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10722             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10723             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10723             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10724             symbol_c *IN_type_symbol = NULL;
 10724             symbol_c *IN_type_symbol = NULL;
 10725             
 10725             
 10726             /* Get the value from a foo(<param_value>) style call */
 10726             /* Get the value from a foo(<param_value>) style call */
 10727             if (IN_param_value == NULL)
 10727             if (IN_param_value == NULL)
 10728               IN_param_value = function_call_param_iterator.next_nf();
 10728               IN_param_value = function_call_param_iterator.next_nf();
 10736         
 10736         
 10737                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10737                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10738                 
 10738                 
 10739                 if (IN_type_symbol == NULL)
 10739                 if (IN_type_symbol == NULL)
 10740                   IN_type_symbol = last_type_symbol;
 10740                   IN_type_symbol = last_type_symbol;
 10741                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10741                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10742                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 10742                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 10743                 function_type_prefix = return_type_symbol;
 10743                 function_type_prefix = return_type_symbol;
 10744                 function_type_suffix = IN_type_symbol;
 10744                 function_type_suffix = IN_type_symbol;
 10745                 break;
 10745                 break;
 10746                 
 10746                 
 10759     case function_lreal_to_time :
 10759     case function_lreal_to_time :
 10760     {
 10760     {
 10761         symbol_c *last_type_symbol = NULL;
 10761         symbol_c *last_type_symbol = NULL;
 10762 
 10762 
 10763         {
 10763         {
 10764             identifier_c IN_param_name("IN");
 10764             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10765             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10765             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10766             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10766             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10767             symbol_c *IN_type_symbol = NULL;
 10767             symbol_c *IN_type_symbol = NULL;
 10768             
 10768             
 10769             /* Get the value from a foo(<param_value>) style call */
 10769             /* Get the value from a foo(<param_value>) style call */
 10770             if (IN_param_value == NULL)
 10770             if (IN_param_value == NULL)
 10771               IN_param_value = function_call_param_iterator.next_nf();
 10771               IN_param_value = function_call_param_iterator.next_nf();
 10779         
 10779         
 10780                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
 10780                 function_name = (symbol_c*)(new pragma_c("__real_to_time"));
 10781                 
 10781                 
 10782                 if (IN_type_symbol == NULL)
 10782                 if (IN_type_symbol == NULL)
 10783                   IN_type_symbol = last_type_symbol;
 10783                   IN_type_symbol = last_type_symbol;
 10784                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10784                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10785                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 10785                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 10786                 function_type_prefix = return_type_symbol;
 10786                 function_type_prefix = return_type_symbol;
 10787                 break;
 10787                 break;
 10788                 
 10788                 
 10789             }
 10789             }
 10801     case function_lreal_to_int :
 10801     case function_lreal_to_int :
 10802     {
 10802     {
 10803         symbol_c *last_type_symbol = NULL;
 10803         symbol_c *last_type_symbol = NULL;
 10804 
 10804 
 10805         {
 10805         {
 10806             identifier_c IN_param_name("IN");
 10806             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10807             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10807             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10808             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10808             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10809             symbol_c *IN_type_symbol = NULL;
 10809             symbol_c *IN_type_symbol = NULL;
 10810             
 10810             
 10811             /* Get the value from a foo(<param_value>) style call */
 10811             /* Get the value from a foo(<param_value>) style call */
 10812             if (IN_param_value == NULL)
 10812             if (IN_param_value == NULL)
 10813               IN_param_value = function_call_param_iterator.next_nf();
 10813               IN_param_value = function_call_param_iterator.next_nf();
 10821         
 10821         
 10822                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10822                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10823                 
 10823                 
 10824                 if (IN_type_symbol == NULL)
 10824                 if (IN_type_symbol == NULL)
 10825                   IN_type_symbol = last_type_symbol;
 10825                   IN_type_symbol = last_type_symbol;
 10826                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10826                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10827                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 10827                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 10828                 function_type_prefix = return_type_symbol;
 10828                 function_type_prefix = return_type_symbol;
 10829                 function_type_suffix = IN_type_symbol;
 10829                 function_type_suffix = IN_type_symbol;
 10830                 break;
 10830                 break;
 10831                 
 10831                 
 10844     case function_byte_to_real :
 10844     case function_byte_to_real :
 10845     {
 10845     {
 10846         symbol_c *last_type_symbol = NULL;
 10846         symbol_c *last_type_symbol = NULL;
 10847 
 10847 
 10848         {
 10848         {
 10849             identifier_c IN_param_name("IN");
 10849             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10850             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10850             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10851             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10851             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10852             symbol_c *IN_type_symbol = NULL;
 10852             symbol_c *IN_type_symbol = NULL;
 10853             
 10853             
 10854             /* Get the value from a foo(<param_value>) style call */
 10854             /* Get the value from a foo(<param_value>) style call */
 10855             if (IN_param_value == NULL)
 10855             if (IN_param_value == NULL)
 10856               IN_param_value = function_call_param_iterator.next_nf();
 10856               IN_param_value = function_call_param_iterator.next_nf();
 10864         
 10864         
 10865                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10865                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10866                 
 10866                 
 10867                 if (IN_type_symbol == NULL)
 10867                 if (IN_type_symbol == NULL)
 10868                   IN_type_symbol = last_type_symbol;
 10868                   IN_type_symbol = last_type_symbol;
 10869                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10869                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10870                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 10870                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 10871                 function_type_prefix = return_type_symbol;
 10871                 function_type_prefix = return_type_symbol;
 10872                 function_type_suffix = IN_type_symbol;
 10872                 function_type_suffix = IN_type_symbol;
 10873                 break;
 10873                 break;
 10874                 
 10874                 
 10887     case function_byte_to_sint :
 10887     case function_byte_to_sint :
 10888     {
 10888     {
 10889         symbol_c *last_type_symbol = NULL;
 10889         symbol_c *last_type_symbol = NULL;
 10890 
 10890 
 10891         {
 10891         {
 10892             identifier_c IN_param_name("IN");
 10892             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10893             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10893             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10894             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10894             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10895             symbol_c *IN_type_symbol = NULL;
 10895             symbol_c *IN_type_symbol = NULL;
 10896             
 10896             
 10897             /* Get the value from a foo(<param_value>) style call */
 10897             /* Get the value from a foo(<param_value>) style call */
 10898             if (IN_param_value == NULL)
 10898             if (IN_param_value == NULL)
 10899               IN_param_value = function_call_param_iterator.next_nf();
 10899               IN_param_value = function_call_param_iterator.next_nf();
 10907         
 10907         
 10908                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10908                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10909                 
 10909                 
 10910                 if (IN_type_symbol == NULL)
 10910                 if (IN_type_symbol == NULL)
 10911                   IN_type_symbol = last_type_symbol;
 10911                   IN_type_symbol = last_type_symbol;
 10912                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10912                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10913                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 10913                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 10914                 function_type_prefix = return_type_symbol;
 10914                 function_type_prefix = return_type_symbol;
 10915                 function_type_suffix = IN_type_symbol;
 10915                 function_type_suffix = IN_type_symbol;
 10916                 break;
 10916                 break;
 10917                 
 10917                 
 10930     case function_byte_to_lint :
 10930     case function_byte_to_lint :
 10931     {
 10931     {
 10932         symbol_c *last_type_symbol = NULL;
 10932         symbol_c *last_type_symbol = NULL;
 10933 
 10933 
 10934         {
 10934         {
 10935             identifier_c IN_param_name("IN");
 10935             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10936             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10936             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10937             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10937             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10938             symbol_c *IN_type_symbol = NULL;
 10938             symbol_c *IN_type_symbol = NULL;
 10939             
 10939             
 10940             /* Get the value from a foo(<param_value>) style call */
 10940             /* Get the value from a foo(<param_value>) style call */
 10941             if (IN_param_value == NULL)
 10941             if (IN_param_value == NULL)
 10942               IN_param_value = function_call_param_iterator.next_nf();
 10942               IN_param_value = function_call_param_iterator.next_nf();
 10950         
 10950         
 10951                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10951                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10952                 
 10952                 
 10953                 if (IN_type_symbol == NULL)
 10953                 if (IN_type_symbol == NULL)
 10954                   IN_type_symbol = last_type_symbol;
 10954                   IN_type_symbol = last_type_symbol;
 10955                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10955                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10956                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 10956                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 10957                 function_type_prefix = return_type_symbol;
 10957                 function_type_prefix = return_type_symbol;
 10958                 function_type_suffix = IN_type_symbol;
 10958                 function_type_suffix = IN_type_symbol;
 10959                 break;
 10959                 break;
 10960                 
 10960                 
 10973     case function_byte_to_dint :
 10973     case function_byte_to_dint :
 10974     {
 10974     {
 10975         symbol_c *last_type_symbol = NULL;
 10975         symbol_c *last_type_symbol = NULL;
 10976 
 10976 
 10977         {
 10977         {
 10978             identifier_c IN_param_name("IN");
 10978             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 10979             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10979             /* Get the value from a foo(<param_name> = <param_value>) style call */
 10980             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 10980             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 10981             symbol_c *IN_type_symbol = NULL;
 10981             symbol_c *IN_type_symbol = NULL;
 10982             
 10982             
 10983             /* Get the value from a foo(<param_value>) style call */
 10983             /* Get the value from a foo(<param_value>) style call */
 10984             if (IN_param_value == NULL)
 10984             if (IN_param_value == NULL)
 10985               IN_param_value = function_call_param_iterator.next_nf();
 10985               IN_param_value = function_call_param_iterator.next_nf();
 10993         
 10993         
 10994                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10994                 function_name = (symbol_c*)(new pragma_c("__move_"));
 10995                 
 10995                 
 10996                 if (IN_type_symbol == NULL)
 10996                 if (IN_type_symbol == NULL)
 10997                   IN_type_symbol = last_type_symbol;
 10997                   IN_type_symbol = last_type_symbol;
 10998                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10998                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 10999                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 10999                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 11000                 function_type_prefix = return_type_symbol;
 11000                 function_type_prefix = return_type_symbol;
 11001                 function_type_suffix = IN_type_symbol;
 11001                 function_type_suffix = IN_type_symbol;
 11002                 break;
 11002                 break;
 11003                 
 11003                 
 11016     case function_byte_to_date :
 11016     case function_byte_to_date :
 11017     {
 11017     {
 11018         symbol_c *last_type_symbol = NULL;
 11018         symbol_c *last_type_symbol = NULL;
 11019 
 11019 
 11020         {
 11020         {
 11021             identifier_c IN_param_name("IN");
 11021             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11022             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11022             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11023             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11023             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11024             symbol_c *IN_type_symbol = NULL;
 11024             symbol_c *IN_type_symbol = NULL;
 11025             
 11025             
 11026             /* Get the value from a foo(<param_value>) style call */
 11026             /* Get the value from a foo(<param_value>) style call */
 11027             if (IN_param_value == NULL)
 11027             if (IN_param_value == NULL)
 11028               IN_param_value = function_call_param_iterator.next_nf();
 11028               IN_param_value = function_call_param_iterator.next_nf();
 11036         
 11036         
 11037                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11037                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11038                 
 11038                 
 11039                 if (IN_type_symbol == NULL)
 11039                 if (IN_type_symbol == NULL)
 11040                   IN_type_symbol = last_type_symbol;
 11040                   IN_type_symbol = last_type_symbol;
 11041                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11041                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11042                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 11042                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 11043                 function_type_prefix = return_type_symbol;
 11043                 function_type_prefix = return_type_symbol;
 11044                 break;
 11044                 break;
 11045                 
 11045                 
 11046             }
 11046             }
 11058     case function_byte_to_dword :
 11058     case function_byte_to_dword :
 11059     {
 11059     {
 11060         symbol_c *last_type_symbol = NULL;
 11060         symbol_c *last_type_symbol = NULL;
 11061 
 11061 
 11062         {
 11062         {
 11063             identifier_c IN_param_name("IN");
 11063             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11064             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11064             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11065             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11065             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11066             symbol_c *IN_type_symbol = NULL;
 11066             symbol_c *IN_type_symbol = NULL;
 11067             
 11067             
 11068             /* Get the value from a foo(<param_value>) style call */
 11068             /* Get the value from a foo(<param_value>) style call */
 11069             if (IN_param_value == NULL)
 11069             if (IN_param_value == NULL)
 11070               IN_param_value = function_call_param_iterator.next_nf();
 11070               IN_param_value = function_call_param_iterator.next_nf();
 11078         
 11078         
 11079                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11079                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11080                 
 11080                 
 11081                 if (IN_type_symbol == NULL)
 11081                 if (IN_type_symbol == NULL)
 11082                   IN_type_symbol = last_type_symbol;
 11082                   IN_type_symbol = last_type_symbol;
 11083                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11083                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11084                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 11084                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 11085                 function_type_prefix = return_type_symbol;
 11085                 function_type_prefix = return_type_symbol;
 11086                 function_type_suffix = IN_type_symbol;
 11086                 function_type_suffix = IN_type_symbol;
 11087                 break;
 11087                 break;
 11088                 
 11088                 
 11101     case function_byte_to_dt :
 11101     case function_byte_to_dt :
 11102     {
 11102     {
 11103         symbol_c *last_type_symbol = NULL;
 11103         symbol_c *last_type_symbol = NULL;
 11104 
 11104 
 11105         {
 11105         {
 11106             identifier_c IN_param_name("IN");
 11106             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11107             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11107             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11108             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11108             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11109             symbol_c *IN_type_symbol = NULL;
 11109             symbol_c *IN_type_symbol = NULL;
 11110             
 11110             
 11111             /* Get the value from a foo(<param_value>) style call */
 11111             /* Get the value from a foo(<param_value>) style call */
 11112             if (IN_param_value == NULL)
 11112             if (IN_param_value == NULL)
 11113               IN_param_value = function_call_param_iterator.next_nf();
 11113               IN_param_value = function_call_param_iterator.next_nf();
 11121         
 11121         
 11122                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11122                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11123                 
 11123                 
 11124                 if (IN_type_symbol == NULL)
 11124                 if (IN_type_symbol == NULL)
 11125                   IN_type_symbol = last_type_symbol;
 11125                   IN_type_symbol = last_type_symbol;
 11126                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11126                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11127                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 11127                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 11128                 function_type_prefix = return_type_symbol;
 11128                 function_type_prefix = return_type_symbol;
 11129                 break;
 11129                 break;
 11130                 
 11130                 
 11131             }
 11131             }
 11143     case function_byte_to_tod :
 11143     case function_byte_to_tod :
 11144     {
 11144     {
 11145         symbol_c *last_type_symbol = NULL;
 11145         symbol_c *last_type_symbol = NULL;
 11146 
 11146 
 11147         {
 11147         {
 11148             identifier_c IN_param_name("IN");
 11148             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11149             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11149             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11150             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11150             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11151             symbol_c *IN_type_symbol = NULL;
 11151             symbol_c *IN_type_symbol = NULL;
 11152             
 11152             
 11153             /* Get the value from a foo(<param_value>) style call */
 11153             /* Get the value from a foo(<param_value>) style call */
 11154             if (IN_param_value == NULL)
 11154             if (IN_param_value == NULL)
 11155               IN_param_value = function_call_param_iterator.next_nf();
 11155               IN_param_value = function_call_param_iterator.next_nf();
 11163         
 11163         
 11164                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11164                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11165                 
 11165                 
 11166                 if (IN_type_symbol == NULL)
 11166                 if (IN_type_symbol == NULL)
 11167                   IN_type_symbol = last_type_symbol;
 11167                   IN_type_symbol = last_type_symbol;
 11168                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11168                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11169                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 11169                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 11170                 function_type_prefix = return_type_symbol;
 11170                 function_type_prefix = return_type_symbol;
 11171                 break;
 11171                 break;
 11172                 
 11172                 
 11173             }
 11173             }
 11185     case function_byte_to_udint :
 11185     case function_byte_to_udint :
 11186     {
 11186     {
 11187         symbol_c *last_type_symbol = NULL;
 11187         symbol_c *last_type_symbol = NULL;
 11188 
 11188 
 11189         {
 11189         {
 11190             identifier_c IN_param_name("IN");
 11190             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11191             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11191             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11192             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11192             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11193             symbol_c *IN_type_symbol = NULL;
 11193             symbol_c *IN_type_symbol = NULL;
 11194             
 11194             
 11195             /* Get the value from a foo(<param_value>) style call */
 11195             /* Get the value from a foo(<param_value>) style call */
 11196             if (IN_param_value == NULL)
 11196             if (IN_param_value == NULL)
 11197               IN_param_value = function_call_param_iterator.next_nf();
 11197               IN_param_value = function_call_param_iterator.next_nf();
 11205         
 11205         
 11206                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11206                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11207                 
 11207                 
 11208                 if (IN_type_symbol == NULL)
 11208                 if (IN_type_symbol == NULL)
 11209                   IN_type_symbol = last_type_symbol;
 11209                   IN_type_symbol = last_type_symbol;
 11210                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11210                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11211                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 11211                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 11212                 function_type_prefix = return_type_symbol;
 11212                 function_type_prefix = return_type_symbol;
 11213                 function_type_suffix = IN_type_symbol;
 11213                 function_type_suffix = IN_type_symbol;
 11214                 break;
 11214                 break;
 11215                 
 11215                 
 11228     case function_byte_to_word :
 11228     case function_byte_to_word :
 11229     {
 11229     {
 11230         symbol_c *last_type_symbol = NULL;
 11230         symbol_c *last_type_symbol = NULL;
 11231 
 11231 
 11232         {
 11232         {
 11233             identifier_c IN_param_name("IN");
 11233             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11234             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11234             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11235             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11235             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11236             symbol_c *IN_type_symbol = NULL;
 11236             symbol_c *IN_type_symbol = NULL;
 11237             
 11237             
 11238             /* Get the value from a foo(<param_value>) style call */
 11238             /* Get the value from a foo(<param_value>) style call */
 11239             if (IN_param_value == NULL)
 11239             if (IN_param_value == NULL)
 11240               IN_param_value = function_call_param_iterator.next_nf();
 11240               IN_param_value = function_call_param_iterator.next_nf();
 11248         
 11248         
 11249                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11249                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11250                 
 11250                 
 11251                 if (IN_type_symbol == NULL)
 11251                 if (IN_type_symbol == NULL)
 11252                   IN_type_symbol = last_type_symbol;
 11252                   IN_type_symbol = last_type_symbol;
 11253                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11253                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11254                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 11254                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 11255                 function_type_prefix = return_type_symbol;
 11255                 function_type_prefix = return_type_symbol;
 11256                 function_type_suffix = IN_type_symbol;
 11256                 function_type_suffix = IN_type_symbol;
 11257                 break;
 11257                 break;
 11258                 
 11258                 
 11271     case function_byte_to_string :
 11271     case function_byte_to_string :
 11272     {
 11272     {
 11273         symbol_c *last_type_symbol = NULL;
 11273         symbol_c *last_type_symbol = NULL;
 11274 
 11274 
 11275         {
 11275         {
 11276             identifier_c IN_param_name("IN");
 11276             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11277             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11277             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11278             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11278             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11279             symbol_c *IN_type_symbol = NULL;
 11279             symbol_c *IN_type_symbol = NULL;
 11280             
 11280             
 11281             /* Get the value from a foo(<param_value>) style call */
 11281             /* Get the value from a foo(<param_value>) style call */
 11282             if (IN_param_value == NULL)
 11282             if (IN_param_value == NULL)
 11283               IN_param_value = function_call_param_iterator.next_nf();
 11283               IN_param_value = function_call_param_iterator.next_nf();
 11291         
 11291         
 11292                 function_name = (symbol_c*)(new pragma_c("__bit_to_string"));
 11292                 function_name = (symbol_c*)(new pragma_c("__bit_to_string"));
 11293                 
 11293                 
 11294                 if (IN_type_symbol == NULL)
 11294                 if (IN_type_symbol == NULL)
 11295                   IN_type_symbol = last_type_symbol;
 11295                   IN_type_symbol = last_type_symbol;
 11296                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11296                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11297                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 11297                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 11298                 function_type_prefix = return_type_symbol;
 11298                 function_type_prefix = return_type_symbol;
 11299                 break;
 11299                 break;
 11300                 
 11300                 
 11301             }
 11301             }
 11313     case function_byte_to_lword :
 11313     case function_byte_to_lword :
 11314     {
 11314     {
 11315         symbol_c *last_type_symbol = NULL;
 11315         symbol_c *last_type_symbol = NULL;
 11316 
 11316 
 11317         {
 11317         {
 11318             identifier_c IN_param_name("IN");
 11318             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11319             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11319             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11320             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11320             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11321             symbol_c *IN_type_symbol = NULL;
 11321             symbol_c *IN_type_symbol = NULL;
 11322             
 11322             
 11323             /* Get the value from a foo(<param_value>) style call */
 11323             /* Get the value from a foo(<param_value>) style call */
 11324             if (IN_param_value == NULL)
 11324             if (IN_param_value == NULL)
 11325               IN_param_value = function_call_param_iterator.next_nf();
 11325               IN_param_value = function_call_param_iterator.next_nf();
 11333         
 11333         
 11334                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11334                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11335                 
 11335                 
 11336                 if (IN_type_symbol == NULL)
 11336                 if (IN_type_symbol == NULL)
 11337                   IN_type_symbol = last_type_symbol;
 11337                   IN_type_symbol = last_type_symbol;
 11338                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11338                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11339                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 11339                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 11340                 function_type_prefix = return_type_symbol;
 11340                 function_type_prefix = return_type_symbol;
 11341                 function_type_suffix = IN_type_symbol;
 11341                 function_type_suffix = IN_type_symbol;
 11342                 break;
 11342                 break;
 11343                 
 11343                 
 11356     case function_byte_to_uint :
 11356     case function_byte_to_uint :
 11357     {
 11357     {
 11358         symbol_c *last_type_symbol = NULL;
 11358         symbol_c *last_type_symbol = NULL;
 11359 
 11359 
 11360         {
 11360         {
 11361             identifier_c IN_param_name("IN");
 11361             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11362             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11362             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11363             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11363             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11364             symbol_c *IN_type_symbol = NULL;
 11364             symbol_c *IN_type_symbol = NULL;
 11365             
 11365             
 11366             /* Get the value from a foo(<param_value>) style call */
 11366             /* Get the value from a foo(<param_value>) style call */
 11367             if (IN_param_value == NULL)
 11367             if (IN_param_value == NULL)
 11368               IN_param_value = function_call_param_iterator.next_nf();
 11368               IN_param_value = function_call_param_iterator.next_nf();
 11376         
 11376         
 11377                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11377                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11378                 
 11378                 
 11379                 if (IN_type_symbol == NULL)
 11379                 if (IN_type_symbol == NULL)
 11380                   IN_type_symbol = last_type_symbol;
 11380                   IN_type_symbol = last_type_symbol;
 11381                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11381                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11382                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 11382                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 11383                 function_type_prefix = return_type_symbol;
 11383                 function_type_prefix = return_type_symbol;
 11384                 function_type_suffix = IN_type_symbol;
 11384                 function_type_suffix = IN_type_symbol;
 11385                 break;
 11385                 break;
 11386                 
 11386                 
 11399     case function_byte_to_lreal :
 11399     case function_byte_to_lreal :
 11400     {
 11400     {
 11401         symbol_c *last_type_symbol = NULL;
 11401         symbol_c *last_type_symbol = NULL;
 11402 
 11402 
 11403         {
 11403         {
 11404             identifier_c IN_param_name("IN");
 11404             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11405             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11405             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11406             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11406             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11407             symbol_c *IN_type_symbol = NULL;
 11407             symbol_c *IN_type_symbol = NULL;
 11408             
 11408             
 11409             /* Get the value from a foo(<param_value>) style call */
 11409             /* Get the value from a foo(<param_value>) style call */
 11410             if (IN_param_value == NULL)
 11410             if (IN_param_value == NULL)
 11411               IN_param_value = function_call_param_iterator.next_nf();
 11411               IN_param_value = function_call_param_iterator.next_nf();
 11419         
 11419         
 11420                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11420                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11421                 
 11421                 
 11422                 if (IN_type_symbol == NULL)
 11422                 if (IN_type_symbol == NULL)
 11423                   IN_type_symbol = last_type_symbol;
 11423                   IN_type_symbol = last_type_symbol;
 11424                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11424                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11425                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 11425                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 11426                 function_type_prefix = return_type_symbol;
 11426                 function_type_prefix = return_type_symbol;
 11427                 function_type_suffix = IN_type_symbol;
 11427                 function_type_suffix = IN_type_symbol;
 11428                 break;
 11428                 break;
 11429                 
 11429                 
 11442     case function_byte_to_usint :
 11442     case function_byte_to_usint :
 11443     {
 11443     {
 11444         symbol_c *last_type_symbol = NULL;
 11444         symbol_c *last_type_symbol = NULL;
 11445 
 11445 
 11446         {
 11446         {
 11447             identifier_c IN_param_name("IN");
 11447             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11448             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11448             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11449             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11449             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11450             symbol_c *IN_type_symbol = NULL;
 11450             symbol_c *IN_type_symbol = NULL;
 11451             
 11451             
 11452             /* Get the value from a foo(<param_value>) style call */
 11452             /* Get the value from a foo(<param_value>) style call */
 11453             if (IN_param_value == NULL)
 11453             if (IN_param_value == NULL)
 11454               IN_param_value = function_call_param_iterator.next_nf();
 11454               IN_param_value = function_call_param_iterator.next_nf();
 11462         
 11462         
 11463                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11463                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11464                 
 11464                 
 11465                 if (IN_type_symbol == NULL)
 11465                 if (IN_type_symbol == NULL)
 11466                   IN_type_symbol = last_type_symbol;
 11466                   IN_type_symbol = last_type_symbol;
 11467                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11467                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11468                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 11468                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 11469                 function_type_prefix = return_type_symbol;
 11469                 function_type_prefix = return_type_symbol;
 11470                 function_type_suffix = IN_type_symbol;
 11470                 function_type_suffix = IN_type_symbol;
 11471                 break;
 11471                 break;
 11472                 
 11472                 
 11485     case function_byte_to_ulint :
 11485     case function_byte_to_ulint :
 11486     {
 11486     {
 11487         symbol_c *last_type_symbol = NULL;
 11487         symbol_c *last_type_symbol = NULL;
 11488 
 11488 
 11489         {
 11489         {
 11490             identifier_c IN_param_name("IN");
 11490             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11491             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11491             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11492             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11492             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11493             symbol_c *IN_type_symbol = NULL;
 11493             symbol_c *IN_type_symbol = NULL;
 11494             
 11494             
 11495             /* Get the value from a foo(<param_value>) style call */
 11495             /* Get the value from a foo(<param_value>) style call */
 11496             if (IN_param_value == NULL)
 11496             if (IN_param_value == NULL)
 11497               IN_param_value = function_call_param_iterator.next_nf();
 11497               IN_param_value = function_call_param_iterator.next_nf();
 11505         
 11505         
 11506                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11506                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11507                 
 11507                 
 11508                 if (IN_type_symbol == NULL)
 11508                 if (IN_type_symbol == NULL)
 11509                   IN_type_symbol = last_type_symbol;
 11509                   IN_type_symbol = last_type_symbol;
 11510                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11510                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11511                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 11511                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 11512                 function_type_prefix = return_type_symbol;
 11512                 function_type_prefix = return_type_symbol;
 11513                 function_type_suffix = IN_type_symbol;
 11513                 function_type_suffix = IN_type_symbol;
 11514                 break;
 11514                 break;
 11515                 
 11515                 
 11528     case function_byte_to_bool :
 11528     case function_byte_to_bool :
 11529     {
 11529     {
 11530         symbol_c *last_type_symbol = NULL;
 11530         symbol_c *last_type_symbol = NULL;
 11531 
 11531 
 11532         {
 11532         {
 11533             identifier_c IN_param_name("IN");
 11533             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11534             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11534             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11535             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11535             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11536             symbol_c *IN_type_symbol = NULL;
 11536             symbol_c *IN_type_symbol = NULL;
 11537             
 11537             
 11538             /* Get the value from a foo(<param_value>) style call */
 11538             /* Get the value from a foo(<param_value>) style call */
 11539             if (IN_param_value == NULL)
 11539             if (IN_param_value == NULL)
 11540               IN_param_value = function_call_param_iterator.next_nf();
 11540               IN_param_value = function_call_param_iterator.next_nf();
 11548         
 11548         
 11549                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11549                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11550                 
 11550                 
 11551                 if (IN_type_symbol == NULL)
 11551                 if (IN_type_symbol == NULL)
 11552                   IN_type_symbol = last_type_symbol;
 11552                   IN_type_symbol = last_type_symbol;
 11553                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11553                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11554                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 11554                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 11555                 function_type_prefix = return_type_symbol;
 11555                 function_type_prefix = return_type_symbol;
 11556                 function_type_suffix = IN_type_symbol;
 11556                 function_type_suffix = IN_type_symbol;
 11557                 break;
 11557                 break;
 11558                 
 11558                 
 11571     case function_byte_to_time :
 11571     case function_byte_to_time :
 11572     {
 11572     {
 11573         symbol_c *last_type_symbol = NULL;
 11573         symbol_c *last_type_symbol = NULL;
 11574 
 11574 
 11575         {
 11575         {
 11576             identifier_c IN_param_name("IN");
 11576             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11577             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11577             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11578             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11578             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11579             symbol_c *IN_type_symbol = NULL;
 11579             symbol_c *IN_type_symbol = NULL;
 11580             
 11580             
 11581             /* Get the value from a foo(<param_value>) style call */
 11581             /* Get the value from a foo(<param_value>) style call */
 11582             if (IN_param_value == NULL)
 11582             if (IN_param_value == NULL)
 11583               IN_param_value = function_call_param_iterator.next_nf();
 11583               IN_param_value = function_call_param_iterator.next_nf();
 11591         
 11591         
 11592                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11592                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11593                 
 11593                 
 11594                 if (IN_type_symbol == NULL)
 11594                 if (IN_type_symbol == NULL)
 11595                   IN_type_symbol = last_type_symbol;
 11595                   IN_type_symbol = last_type_symbol;
 11596                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11596                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11597                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 11597                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 11598                 function_type_prefix = return_type_symbol;
 11598                 function_type_prefix = return_type_symbol;
 11599                 break;
 11599                 break;
 11600                 
 11600                 
 11601             }
 11601             }
 11613     case function_byte_to_int :
 11613     case function_byte_to_int :
 11614     {
 11614     {
 11615         symbol_c *last_type_symbol = NULL;
 11615         symbol_c *last_type_symbol = NULL;
 11616 
 11616 
 11617         {
 11617         {
 11618             identifier_c IN_param_name("IN");
 11618             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11619             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11619             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11620             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11620             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11621             symbol_c *IN_type_symbol = NULL;
 11621             symbol_c *IN_type_symbol = NULL;
 11622             
 11622             
 11623             /* Get the value from a foo(<param_value>) style call */
 11623             /* Get the value from a foo(<param_value>) style call */
 11624             if (IN_param_value == NULL)
 11624             if (IN_param_value == NULL)
 11625               IN_param_value = function_call_param_iterator.next_nf();
 11625               IN_param_value = function_call_param_iterator.next_nf();
 11633         
 11633         
 11634                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11634                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11635                 
 11635                 
 11636                 if (IN_type_symbol == NULL)
 11636                 if (IN_type_symbol == NULL)
 11637                   IN_type_symbol = last_type_symbol;
 11637                   IN_type_symbol = last_type_symbol;
 11638                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11638                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11639                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 11639                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 11640                 function_type_prefix = return_type_symbol;
 11640                 function_type_prefix = return_type_symbol;
 11641                 function_type_suffix = IN_type_symbol;
 11641                 function_type_suffix = IN_type_symbol;
 11642                 break;
 11642                 break;
 11643                 
 11643                 
 11656     case function_usint_to_real :
 11656     case function_usint_to_real :
 11657     {
 11657     {
 11658         symbol_c *last_type_symbol = NULL;
 11658         symbol_c *last_type_symbol = NULL;
 11659 
 11659 
 11660         {
 11660         {
 11661             identifier_c IN_param_name("IN");
 11661             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11662             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11662             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11663             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11663             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11664             symbol_c *IN_type_symbol = NULL;
 11664             symbol_c *IN_type_symbol = NULL;
 11665             
 11665             
 11666             /* Get the value from a foo(<param_value>) style call */
 11666             /* Get the value from a foo(<param_value>) style call */
 11667             if (IN_param_value == NULL)
 11667             if (IN_param_value == NULL)
 11668               IN_param_value = function_call_param_iterator.next_nf();
 11668               IN_param_value = function_call_param_iterator.next_nf();
 11676         
 11676         
 11677                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11677                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11678                 
 11678                 
 11679                 if (IN_type_symbol == NULL)
 11679                 if (IN_type_symbol == NULL)
 11680                   IN_type_symbol = last_type_symbol;
 11680                   IN_type_symbol = last_type_symbol;
 11681                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11681                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11682                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 11682                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 11683                 function_type_prefix = return_type_symbol;
 11683                 function_type_prefix = return_type_symbol;
 11684                 function_type_suffix = IN_type_symbol;
 11684                 function_type_suffix = IN_type_symbol;
 11685                 break;
 11685                 break;
 11686                 
 11686                 
 11699     case function_usint_to_sint :
 11699     case function_usint_to_sint :
 11700     {
 11700     {
 11701         symbol_c *last_type_symbol = NULL;
 11701         symbol_c *last_type_symbol = NULL;
 11702 
 11702 
 11703         {
 11703         {
 11704             identifier_c IN_param_name("IN");
 11704             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11705             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11705             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11706             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11706             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11707             symbol_c *IN_type_symbol = NULL;
 11707             symbol_c *IN_type_symbol = NULL;
 11708             
 11708             
 11709             /* Get the value from a foo(<param_value>) style call */
 11709             /* Get the value from a foo(<param_value>) style call */
 11710             if (IN_param_value == NULL)
 11710             if (IN_param_value == NULL)
 11711               IN_param_value = function_call_param_iterator.next_nf();
 11711               IN_param_value = function_call_param_iterator.next_nf();
 11719         
 11719         
 11720                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11720                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11721                 
 11721                 
 11722                 if (IN_type_symbol == NULL)
 11722                 if (IN_type_symbol == NULL)
 11723                   IN_type_symbol = last_type_symbol;
 11723                   IN_type_symbol = last_type_symbol;
 11724                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11724                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11725                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 11725                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 11726                 function_type_prefix = return_type_symbol;
 11726                 function_type_prefix = return_type_symbol;
 11727                 function_type_suffix = IN_type_symbol;
 11727                 function_type_suffix = IN_type_symbol;
 11728                 break;
 11728                 break;
 11729                 
 11729                 
 11742     case function_usint_to_lint :
 11742     case function_usint_to_lint :
 11743     {
 11743     {
 11744         symbol_c *last_type_symbol = NULL;
 11744         symbol_c *last_type_symbol = NULL;
 11745 
 11745 
 11746         {
 11746         {
 11747             identifier_c IN_param_name("IN");
 11747             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11748             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11748             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11749             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11749             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11750             symbol_c *IN_type_symbol = NULL;
 11750             symbol_c *IN_type_symbol = NULL;
 11751             
 11751             
 11752             /* Get the value from a foo(<param_value>) style call */
 11752             /* Get the value from a foo(<param_value>) style call */
 11753             if (IN_param_value == NULL)
 11753             if (IN_param_value == NULL)
 11754               IN_param_value = function_call_param_iterator.next_nf();
 11754               IN_param_value = function_call_param_iterator.next_nf();
 11762         
 11762         
 11763                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11763                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11764                 
 11764                 
 11765                 if (IN_type_symbol == NULL)
 11765                 if (IN_type_symbol == NULL)
 11766                   IN_type_symbol = last_type_symbol;
 11766                   IN_type_symbol = last_type_symbol;
 11767                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11767                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11768                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 11768                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 11769                 function_type_prefix = return_type_symbol;
 11769                 function_type_prefix = return_type_symbol;
 11770                 function_type_suffix = IN_type_symbol;
 11770                 function_type_suffix = IN_type_symbol;
 11771                 break;
 11771                 break;
 11772                 
 11772                 
 11785     case function_usint_to_dint :
 11785     case function_usint_to_dint :
 11786     {
 11786     {
 11787         symbol_c *last_type_symbol = NULL;
 11787         symbol_c *last_type_symbol = NULL;
 11788 
 11788 
 11789         {
 11789         {
 11790             identifier_c IN_param_name("IN");
 11790             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11791             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11791             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11792             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11792             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11793             symbol_c *IN_type_symbol = NULL;
 11793             symbol_c *IN_type_symbol = NULL;
 11794             
 11794             
 11795             /* Get the value from a foo(<param_value>) style call */
 11795             /* Get the value from a foo(<param_value>) style call */
 11796             if (IN_param_value == NULL)
 11796             if (IN_param_value == NULL)
 11797               IN_param_value = function_call_param_iterator.next_nf();
 11797               IN_param_value = function_call_param_iterator.next_nf();
 11805         
 11805         
 11806                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11806                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11807                 
 11807                 
 11808                 if (IN_type_symbol == NULL)
 11808                 if (IN_type_symbol == NULL)
 11809                   IN_type_symbol = last_type_symbol;
 11809                   IN_type_symbol = last_type_symbol;
 11810                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11810                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11811                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 11811                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 11812                 function_type_prefix = return_type_symbol;
 11812                 function_type_prefix = return_type_symbol;
 11813                 function_type_suffix = IN_type_symbol;
 11813                 function_type_suffix = IN_type_symbol;
 11814                 break;
 11814                 break;
 11815                 
 11815                 
 11828     case function_usint_to_date :
 11828     case function_usint_to_date :
 11829     {
 11829     {
 11830         symbol_c *last_type_symbol = NULL;
 11830         symbol_c *last_type_symbol = NULL;
 11831 
 11831 
 11832         {
 11832         {
 11833             identifier_c IN_param_name("IN");
 11833             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11834             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11834             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11835             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11835             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11836             symbol_c *IN_type_symbol = NULL;
 11836             symbol_c *IN_type_symbol = NULL;
 11837             
 11837             
 11838             /* Get the value from a foo(<param_value>) style call */
 11838             /* Get the value from a foo(<param_value>) style call */
 11839             if (IN_param_value == NULL)
 11839             if (IN_param_value == NULL)
 11840               IN_param_value = function_call_param_iterator.next_nf();
 11840               IN_param_value = function_call_param_iterator.next_nf();
 11848         
 11848         
 11849                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11849                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11850                 
 11850                 
 11851                 if (IN_type_symbol == NULL)
 11851                 if (IN_type_symbol == NULL)
 11852                   IN_type_symbol = last_type_symbol;
 11852                   IN_type_symbol = last_type_symbol;
 11853                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11853                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11854                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 11854                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 11855                 function_type_prefix = return_type_symbol;
 11855                 function_type_prefix = return_type_symbol;
 11856                 break;
 11856                 break;
 11857                 
 11857                 
 11858             }
 11858             }
 11870     case function_usint_to_dword :
 11870     case function_usint_to_dword :
 11871     {
 11871     {
 11872         symbol_c *last_type_symbol = NULL;
 11872         symbol_c *last_type_symbol = NULL;
 11873 
 11873 
 11874         {
 11874         {
 11875             identifier_c IN_param_name("IN");
 11875             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11876             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11876             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11877             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11877             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11878             symbol_c *IN_type_symbol = NULL;
 11878             symbol_c *IN_type_symbol = NULL;
 11879             
 11879             
 11880             /* Get the value from a foo(<param_value>) style call */
 11880             /* Get the value from a foo(<param_value>) style call */
 11881             if (IN_param_value == NULL)
 11881             if (IN_param_value == NULL)
 11882               IN_param_value = function_call_param_iterator.next_nf();
 11882               IN_param_value = function_call_param_iterator.next_nf();
 11890         
 11890         
 11891                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11891                 function_name = (symbol_c*)(new pragma_c("__move_"));
 11892                 
 11892                 
 11893                 if (IN_type_symbol == NULL)
 11893                 if (IN_type_symbol == NULL)
 11894                   IN_type_symbol = last_type_symbol;
 11894                   IN_type_symbol = last_type_symbol;
 11895                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11895                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11896                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 11896                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 11897                 function_type_prefix = return_type_symbol;
 11897                 function_type_prefix = return_type_symbol;
 11898                 function_type_suffix = IN_type_symbol;
 11898                 function_type_suffix = IN_type_symbol;
 11899                 break;
 11899                 break;
 11900                 
 11900                 
 11913     case function_usint_to_dt :
 11913     case function_usint_to_dt :
 11914     {
 11914     {
 11915         symbol_c *last_type_symbol = NULL;
 11915         symbol_c *last_type_symbol = NULL;
 11916 
 11916 
 11917         {
 11917         {
 11918             identifier_c IN_param_name("IN");
 11918             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11919             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11919             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11920             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11920             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11921             symbol_c *IN_type_symbol = NULL;
 11921             symbol_c *IN_type_symbol = NULL;
 11922             
 11922             
 11923             /* Get the value from a foo(<param_value>) style call */
 11923             /* Get the value from a foo(<param_value>) style call */
 11924             if (IN_param_value == NULL)
 11924             if (IN_param_value == NULL)
 11925               IN_param_value = function_call_param_iterator.next_nf();
 11925               IN_param_value = function_call_param_iterator.next_nf();
 11933         
 11933         
 11934                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11934                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11935                 
 11935                 
 11936                 if (IN_type_symbol == NULL)
 11936                 if (IN_type_symbol == NULL)
 11937                   IN_type_symbol = last_type_symbol;
 11937                   IN_type_symbol = last_type_symbol;
 11938                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11938                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11939                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 11939                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 11940                 function_type_prefix = return_type_symbol;
 11940                 function_type_prefix = return_type_symbol;
 11941                 break;
 11941                 break;
 11942                 
 11942                 
 11943             }
 11943             }
 11955     case function_usint_to_tod :
 11955     case function_usint_to_tod :
 11956     {
 11956     {
 11957         symbol_c *last_type_symbol = NULL;
 11957         symbol_c *last_type_symbol = NULL;
 11958 
 11958 
 11959         {
 11959         {
 11960             identifier_c IN_param_name("IN");
 11960             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 11961             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11961             /* Get the value from a foo(<param_name> = <param_value>) style call */
 11962             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 11962             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 11963             symbol_c *IN_type_symbol = NULL;
 11963             symbol_c *IN_type_symbol = NULL;
 11964             
 11964             
 11965             /* Get the value from a foo(<param_value>) style call */
 11965             /* Get the value from a foo(<param_value>) style call */
 11966             if (IN_param_value == NULL)
 11966             if (IN_param_value == NULL)
 11967               IN_param_value = function_call_param_iterator.next_nf();
 11967               IN_param_value = function_call_param_iterator.next_nf();
 11975         
 11975         
 11976                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11976                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 11977                 
 11977                 
 11978                 if (IN_type_symbol == NULL)
 11978                 if (IN_type_symbol == NULL)
 11979                   IN_type_symbol = last_type_symbol;
 11979                   IN_type_symbol = last_type_symbol;
 11980                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11980                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 11981                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 11981                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 11982                 function_type_prefix = return_type_symbol;
 11982                 function_type_prefix = return_type_symbol;
 11983                 break;
 11983                 break;
 11984                 
 11984                 
 11985             }
 11985             }
 11997     case function_usint_to_udint :
 11997     case function_usint_to_udint :
 11998     {
 11998     {
 11999         symbol_c *last_type_symbol = NULL;
 11999         symbol_c *last_type_symbol = NULL;
 12000 
 12000 
 12001         {
 12001         {
 12002             identifier_c IN_param_name("IN");
 12002             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12003             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12003             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12004             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12004             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12005             symbol_c *IN_type_symbol = NULL;
 12005             symbol_c *IN_type_symbol = NULL;
 12006             
 12006             
 12007             /* Get the value from a foo(<param_value>) style call */
 12007             /* Get the value from a foo(<param_value>) style call */
 12008             if (IN_param_value == NULL)
 12008             if (IN_param_value == NULL)
 12009               IN_param_value = function_call_param_iterator.next_nf();
 12009               IN_param_value = function_call_param_iterator.next_nf();
 12017         
 12017         
 12018                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12018                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12019                 
 12019                 
 12020                 if (IN_type_symbol == NULL)
 12020                 if (IN_type_symbol == NULL)
 12021                   IN_type_symbol = last_type_symbol;
 12021                   IN_type_symbol = last_type_symbol;
 12022                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12022                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12023                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 12023                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 12024                 function_type_prefix = return_type_symbol;
 12024                 function_type_prefix = return_type_symbol;
 12025                 function_type_suffix = IN_type_symbol;
 12025                 function_type_suffix = IN_type_symbol;
 12026                 break;
 12026                 break;
 12027                 
 12027                 
 12040     case function_usint_to_word :
 12040     case function_usint_to_word :
 12041     {
 12041     {
 12042         symbol_c *last_type_symbol = NULL;
 12042         symbol_c *last_type_symbol = NULL;
 12043 
 12043 
 12044         {
 12044         {
 12045             identifier_c IN_param_name("IN");
 12045             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12046             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12046             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12047             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12047             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12048             symbol_c *IN_type_symbol = NULL;
 12048             symbol_c *IN_type_symbol = NULL;
 12049             
 12049             
 12050             /* Get the value from a foo(<param_value>) style call */
 12050             /* Get the value from a foo(<param_value>) style call */
 12051             if (IN_param_value == NULL)
 12051             if (IN_param_value == NULL)
 12052               IN_param_value = function_call_param_iterator.next_nf();
 12052               IN_param_value = function_call_param_iterator.next_nf();
 12060         
 12060         
 12061                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12061                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12062                 
 12062                 
 12063                 if (IN_type_symbol == NULL)
 12063                 if (IN_type_symbol == NULL)
 12064                   IN_type_symbol = last_type_symbol;
 12064                   IN_type_symbol = last_type_symbol;
 12065                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12065                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12066                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 12066                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 12067                 function_type_prefix = return_type_symbol;
 12067                 function_type_prefix = return_type_symbol;
 12068                 function_type_suffix = IN_type_symbol;
 12068                 function_type_suffix = IN_type_symbol;
 12069                 break;
 12069                 break;
 12070                 
 12070                 
 12083     case function_usint_to_string :
 12083     case function_usint_to_string :
 12084     {
 12084     {
 12085         symbol_c *last_type_symbol = NULL;
 12085         symbol_c *last_type_symbol = NULL;
 12086 
 12086 
 12087         {
 12087         {
 12088             identifier_c IN_param_name("IN");
 12088             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12089             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12089             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12090             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12090             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12091             symbol_c *IN_type_symbol = NULL;
 12091             symbol_c *IN_type_symbol = NULL;
 12092             
 12092             
 12093             /* Get the value from a foo(<param_value>) style call */
 12093             /* Get the value from a foo(<param_value>) style call */
 12094             if (IN_param_value == NULL)
 12094             if (IN_param_value == NULL)
 12095               IN_param_value = function_call_param_iterator.next_nf();
 12095               IN_param_value = function_call_param_iterator.next_nf();
 12103         
 12103         
 12104                 function_name = (symbol_c*)(new pragma_c("__uint_to_string"));
 12104                 function_name = (symbol_c*)(new pragma_c("__uint_to_string"));
 12105                 
 12105                 
 12106                 if (IN_type_symbol == NULL)
 12106                 if (IN_type_symbol == NULL)
 12107                   IN_type_symbol = last_type_symbol;
 12107                   IN_type_symbol = last_type_symbol;
 12108                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12108                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12109                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 12109                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 12110                 function_type_prefix = return_type_symbol;
 12110                 function_type_prefix = return_type_symbol;
 12111                 break;
 12111                 break;
 12112                 
 12112                 
 12113             }
 12113             }
 12125     case function_usint_to_lword :
 12125     case function_usint_to_lword :
 12126     {
 12126     {
 12127         symbol_c *last_type_symbol = NULL;
 12127         symbol_c *last_type_symbol = NULL;
 12128 
 12128 
 12129         {
 12129         {
 12130             identifier_c IN_param_name("IN");
 12130             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12131             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12131             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12132             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12132             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12133             symbol_c *IN_type_symbol = NULL;
 12133             symbol_c *IN_type_symbol = NULL;
 12134             
 12134             
 12135             /* Get the value from a foo(<param_value>) style call */
 12135             /* Get the value from a foo(<param_value>) style call */
 12136             if (IN_param_value == NULL)
 12136             if (IN_param_value == NULL)
 12137               IN_param_value = function_call_param_iterator.next_nf();
 12137               IN_param_value = function_call_param_iterator.next_nf();
 12145         
 12145         
 12146                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12146                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12147                 
 12147                 
 12148                 if (IN_type_symbol == NULL)
 12148                 if (IN_type_symbol == NULL)
 12149                   IN_type_symbol = last_type_symbol;
 12149                   IN_type_symbol = last_type_symbol;
 12150                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12150                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12151                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 12151                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 12152                 function_type_prefix = return_type_symbol;
 12152                 function_type_prefix = return_type_symbol;
 12153                 function_type_suffix = IN_type_symbol;
 12153                 function_type_suffix = IN_type_symbol;
 12154                 break;
 12154                 break;
 12155                 
 12155                 
 12168     case function_usint_to_uint :
 12168     case function_usint_to_uint :
 12169     {
 12169     {
 12170         symbol_c *last_type_symbol = NULL;
 12170         symbol_c *last_type_symbol = NULL;
 12171 
 12171 
 12172         {
 12172         {
 12173             identifier_c IN_param_name("IN");
 12173             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12174             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12174             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12175             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12175             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12176             symbol_c *IN_type_symbol = NULL;
 12176             symbol_c *IN_type_symbol = NULL;
 12177             
 12177             
 12178             /* Get the value from a foo(<param_value>) style call */
 12178             /* Get the value from a foo(<param_value>) style call */
 12179             if (IN_param_value == NULL)
 12179             if (IN_param_value == NULL)
 12180               IN_param_value = function_call_param_iterator.next_nf();
 12180               IN_param_value = function_call_param_iterator.next_nf();
 12188         
 12188         
 12189                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12189                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12190                 
 12190                 
 12191                 if (IN_type_symbol == NULL)
 12191                 if (IN_type_symbol == NULL)
 12192                   IN_type_symbol = last_type_symbol;
 12192                   IN_type_symbol = last_type_symbol;
 12193                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12193                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12194                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 12194                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 12195                 function_type_prefix = return_type_symbol;
 12195                 function_type_prefix = return_type_symbol;
 12196                 function_type_suffix = IN_type_symbol;
 12196                 function_type_suffix = IN_type_symbol;
 12197                 break;
 12197                 break;
 12198                 
 12198                 
 12211     case function_usint_to_lreal :
 12211     case function_usint_to_lreal :
 12212     {
 12212     {
 12213         symbol_c *last_type_symbol = NULL;
 12213         symbol_c *last_type_symbol = NULL;
 12214 
 12214 
 12215         {
 12215         {
 12216             identifier_c IN_param_name("IN");
 12216             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12217             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12217             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12218             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12218             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12219             symbol_c *IN_type_symbol = NULL;
 12219             symbol_c *IN_type_symbol = NULL;
 12220             
 12220             
 12221             /* Get the value from a foo(<param_value>) style call */
 12221             /* Get the value from a foo(<param_value>) style call */
 12222             if (IN_param_value == NULL)
 12222             if (IN_param_value == NULL)
 12223               IN_param_value = function_call_param_iterator.next_nf();
 12223               IN_param_value = function_call_param_iterator.next_nf();
 12231         
 12231         
 12232                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12232                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12233                 
 12233                 
 12234                 if (IN_type_symbol == NULL)
 12234                 if (IN_type_symbol == NULL)
 12235                   IN_type_symbol = last_type_symbol;
 12235                   IN_type_symbol = last_type_symbol;
 12236                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12236                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12237                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 12237                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 12238                 function_type_prefix = return_type_symbol;
 12238                 function_type_prefix = return_type_symbol;
 12239                 function_type_suffix = IN_type_symbol;
 12239                 function_type_suffix = IN_type_symbol;
 12240                 break;
 12240                 break;
 12241                 
 12241                 
 12254     case function_usint_to_byte :
 12254     case function_usint_to_byte :
 12255     {
 12255     {
 12256         symbol_c *last_type_symbol = NULL;
 12256         symbol_c *last_type_symbol = NULL;
 12257 
 12257 
 12258         {
 12258         {
 12259             identifier_c IN_param_name("IN");
 12259             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12260             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12260             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12261             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12261             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12262             symbol_c *IN_type_symbol = NULL;
 12262             symbol_c *IN_type_symbol = NULL;
 12263             
 12263             
 12264             /* Get the value from a foo(<param_value>) style call */
 12264             /* Get the value from a foo(<param_value>) style call */
 12265             if (IN_param_value == NULL)
 12265             if (IN_param_value == NULL)
 12266               IN_param_value = function_call_param_iterator.next_nf();
 12266               IN_param_value = function_call_param_iterator.next_nf();
 12274         
 12274         
 12275                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12275                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12276                 
 12276                 
 12277                 if (IN_type_symbol == NULL)
 12277                 if (IN_type_symbol == NULL)
 12278                   IN_type_symbol = last_type_symbol;
 12278                   IN_type_symbol = last_type_symbol;
 12279                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12279                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12280                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 12280                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 12281                 function_type_prefix = return_type_symbol;
 12281                 function_type_prefix = return_type_symbol;
 12282                 function_type_suffix = IN_type_symbol;
 12282                 function_type_suffix = IN_type_symbol;
 12283                 break;
 12283                 break;
 12284                 
 12284                 
 12297     case function_usint_to_ulint :
 12297     case function_usint_to_ulint :
 12298     {
 12298     {
 12299         symbol_c *last_type_symbol = NULL;
 12299         symbol_c *last_type_symbol = NULL;
 12300 
 12300 
 12301         {
 12301         {
 12302             identifier_c IN_param_name("IN");
 12302             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12303             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12303             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12304             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12304             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12305             symbol_c *IN_type_symbol = NULL;
 12305             symbol_c *IN_type_symbol = NULL;
 12306             
 12306             
 12307             /* Get the value from a foo(<param_value>) style call */
 12307             /* Get the value from a foo(<param_value>) style call */
 12308             if (IN_param_value == NULL)
 12308             if (IN_param_value == NULL)
 12309               IN_param_value = function_call_param_iterator.next_nf();
 12309               IN_param_value = function_call_param_iterator.next_nf();
 12317         
 12317         
 12318                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12318                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12319                 
 12319                 
 12320                 if (IN_type_symbol == NULL)
 12320                 if (IN_type_symbol == NULL)
 12321                   IN_type_symbol = last_type_symbol;
 12321                   IN_type_symbol = last_type_symbol;
 12322                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12322                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12323                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 12323                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 12324                 function_type_prefix = return_type_symbol;
 12324                 function_type_prefix = return_type_symbol;
 12325                 function_type_suffix = IN_type_symbol;
 12325                 function_type_suffix = IN_type_symbol;
 12326                 break;
 12326                 break;
 12327                 
 12327                 
 12340     case function_usint_to_bool :
 12340     case function_usint_to_bool :
 12341     {
 12341     {
 12342         symbol_c *last_type_symbol = NULL;
 12342         symbol_c *last_type_symbol = NULL;
 12343 
 12343 
 12344         {
 12344         {
 12345             identifier_c IN_param_name("IN");
 12345             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12346             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12346             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12347             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12347             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12348             symbol_c *IN_type_symbol = NULL;
 12348             symbol_c *IN_type_symbol = NULL;
 12349             
 12349             
 12350             /* Get the value from a foo(<param_value>) style call */
 12350             /* Get the value from a foo(<param_value>) style call */
 12351             if (IN_param_value == NULL)
 12351             if (IN_param_value == NULL)
 12352               IN_param_value = function_call_param_iterator.next_nf();
 12352               IN_param_value = function_call_param_iterator.next_nf();
 12360         
 12360         
 12361                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12361                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12362                 
 12362                 
 12363                 if (IN_type_symbol == NULL)
 12363                 if (IN_type_symbol == NULL)
 12364                   IN_type_symbol = last_type_symbol;
 12364                   IN_type_symbol = last_type_symbol;
 12365                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12365                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12366                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 12366                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 12367                 function_type_prefix = return_type_symbol;
 12367                 function_type_prefix = return_type_symbol;
 12368                 function_type_suffix = IN_type_symbol;
 12368                 function_type_suffix = IN_type_symbol;
 12369                 break;
 12369                 break;
 12370                 
 12370                 
 12383     case function_usint_to_time :
 12383     case function_usint_to_time :
 12384     {
 12384     {
 12385         symbol_c *last_type_symbol = NULL;
 12385         symbol_c *last_type_symbol = NULL;
 12386 
 12386 
 12387         {
 12387         {
 12388             identifier_c IN_param_name("IN");
 12388             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12389             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12389             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12390             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12390             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12391             symbol_c *IN_type_symbol = NULL;
 12391             symbol_c *IN_type_symbol = NULL;
 12392             
 12392             
 12393             /* Get the value from a foo(<param_value>) style call */
 12393             /* Get the value from a foo(<param_value>) style call */
 12394             if (IN_param_value == NULL)
 12394             if (IN_param_value == NULL)
 12395               IN_param_value = function_call_param_iterator.next_nf();
 12395               IN_param_value = function_call_param_iterator.next_nf();
 12403         
 12403         
 12404                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 12404                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 12405                 
 12405                 
 12406                 if (IN_type_symbol == NULL)
 12406                 if (IN_type_symbol == NULL)
 12407                   IN_type_symbol = last_type_symbol;
 12407                   IN_type_symbol = last_type_symbol;
 12408                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12408                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12409                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 12409                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 12410                 function_type_prefix = return_type_symbol;
 12410                 function_type_prefix = return_type_symbol;
 12411                 break;
 12411                 break;
 12412                 
 12412                 
 12413             }
 12413             }
 12425     case function_usint_to_int :
 12425     case function_usint_to_int :
 12426     {
 12426     {
 12427         symbol_c *last_type_symbol = NULL;
 12427         symbol_c *last_type_symbol = NULL;
 12428 
 12428 
 12429         {
 12429         {
 12430             identifier_c IN_param_name("IN");
 12430             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12431             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12431             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12432             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12432             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12433             symbol_c *IN_type_symbol = NULL;
 12433             symbol_c *IN_type_symbol = NULL;
 12434             
 12434             
 12435             /* Get the value from a foo(<param_value>) style call */
 12435             /* Get the value from a foo(<param_value>) style call */
 12436             if (IN_param_value == NULL)
 12436             if (IN_param_value == NULL)
 12437               IN_param_value = function_call_param_iterator.next_nf();
 12437               IN_param_value = function_call_param_iterator.next_nf();
 12445         
 12445         
 12446                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12446                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12447                 
 12447                 
 12448                 if (IN_type_symbol == NULL)
 12448                 if (IN_type_symbol == NULL)
 12449                   IN_type_symbol = last_type_symbol;
 12449                   IN_type_symbol = last_type_symbol;
 12450                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12450                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12451                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 12451                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 12452                 function_type_prefix = return_type_symbol;
 12452                 function_type_prefix = return_type_symbol;
 12453                 function_type_suffix = IN_type_symbol;
 12453                 function_type_suffix = IN_type_symbol;
 12454                 break;
 12454                 break;
 12455                 
 12455                 
 12468     case function_ulint_to_real :
 12468     case function_ulint_to_real :
 12469     {
 12469     {
 12470         symbol_c *last_type_symbol = NULL;
 12470         symbol_c *last_type_symbol = NULL;
 12471 
 12471 
 12472         {
 12472         {
 12473             identifier_c IN_param_name("IN");
 12473             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12474             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12474             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12475             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12475             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12476             symbol_c *IN_type_symbol = NULL;
 12476             symbol_c *IN_type_symbol = NULL;
 12477             
 12477             
 12478             /* Get the value from a foo(<param_value>) style call */
 12478             /* Get the value from a foo(<param_value>) style call */
 12479             if (IN_param_value == NULL)
 12479             if (IN_param_value == NULL)
 12480               IN_param_value = function_call_param_iterator.next_nf();
 12480               IN_param_value = function_call_param_iterator.next_nf();
 12488         
 12488         
 12489                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12489                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12490                 
 12490                 
 12491                 if (IN_type_symbol == NULL)
 12491                 if (IN_type_symbol == NULL)
 12492                   IN_type_symbol = last_type_symbol;
 12492                   IN_type_symbol = last_type_symbol;
 12493                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12493                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12494                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 12494                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 12495                 function_type_prefix = return_type_symbol;
 12495                 function_type_prefix = return_type_symbol;
 12496                 function_type_suffix = IN_type_symbol;
 12496                 function_type_suffix = IN_type_symbol;
 12497                 break;
 12497                 break;
 12498                 
 12498                 
 12511     case function_ulint_to_sint :
 12511     case function_ulint_to_sint :
 12512     {
 12512     {
 12513         symbol_c *last_type_symbol = NULL;
 12513         symbol_c *last_type_symbol = NULL;
 12514 
 12514 
 12515         {
 12515         {
 12516             identifier_c IN_param_name("IN");
 12516             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12517             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12517             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12518             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12518             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12519             symbol_c *IN_type_symbol = NULL;
 12519             symbol_c *IN_type_symbol = NULL;
 12520             
 12520             
 12521             /* Get the value from a foo(<param_value>) style call */
 12521             /* Get the value from a foo(<param_value>) style call */
 12522             if (IN_param_value == NULL)
 12522             if (IN_param_value == NULL)
 12523               IN_param_value = function_call_param_iterator.next_nf();
 12523               IN_param_value = function_call_param_iterator.next_nf();
 12531         
 12531         
 12532                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12532                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12533                 
 12533                 
 12534                 if (IN_type_symbol == NULL)
 12534                 if (IN_type_symbol == NULL)
 12535                   IN_type_symbol = last_type_symbol;
 12535                   IN_type_symbol = last_type_symbol;
 12536                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12536                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12537                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 12537                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 12538                 function_type_prefix = return_type_symbol;
 12538                 function_type_prefix = return_type_symbol;
 12539                 function_type_suffix = IN_type_symbol;
 12539                 function_type_suffix = IN_type_symbol;
 12540                 break;
 12540                 break;
 12541                 
 12541                 
 12554     case function_ulint_to_lint :
 12554     case function_ulint_to_lint :
 12555     {
 12555     {
 12556         symbol_c *last_type_symbol = NULL;
 12556         symbol_c *last_type_symbol = NULL;
 12557 
 12557 
 12558         {
 12558         {
 12559             identifier_c IN_param_name("IN");
 12559             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12560             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12560             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12561             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12561             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12562             symbol_c *IN_type_symbol = NULL;
 12562             symbol_c *IN_type_symbol = NULL;
 12563             
 12563             
 12564             /* Get the value from a foo(<param_value>) style call */
 12564             /* Get the value from a foo(<param_value>) style call */
 12565             if (IN_param_value == NULL)
 12565             if (IN_param_value == NULL)
 12566               IN_param_value = function_call_param_iterator.next_nf();
 12566               IN_param_value = function_call_param_iterator.next_nf();
 12574         
 12574         
 12575                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12575                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12576                 
 12576                 
 12577                 if (IN_type_symbol == NULL)
 12577                 if (IN_type_symbol == NULL)
 12578                   IN_type_symbol = last_type_symbol;
 12578                   IN_type_symbol = last_type_symbol;
 12579                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12579                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12580                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 12580                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 12581                 function_type_prefix = return_type_symbol;
 12581                 function_type_prefix = return_type_symbol;
 12582                 function_type_suffix = IN_type_symbol;
 12582                 function_type_suffix = IN_type_symbol;
 12583                 break;
 12583                 break;
 12584                 
 12584                 
 12597     case function_ulint_to_dint :
 12597     case function_ulint_to_dint :
 12598     {
 12598     {
 12599         symbol_c *last_type_symbol = NULL;
 12599         symbol_c *last_type_symbol = NULL;
 12600 
 12600 
 12601         {
 12601         {
 12602             identifier_c IN_param_name("IN");
 12602             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12603             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12603             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12604             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12604             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12605             symbol_c *IN_type_symbol = NULL;
 12605             symbol_c *IN_type_symbol = NULL;
 12606             
 12606             
 12607             /* Get the value from a foo(<param_value>) style call */
 12607             /* Get the value from a foo(<param_value>) style call */
 12608             if (IN_param_value == NULL)
 12608             if (IN_param_value == NULL)
 12609               IN_param_value = function_call_param_iterator.next_nf();
 12609               IN_param_value = function_call_param_iterator.next_nf();
 12617         
 12617         
 12618                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12618                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12619                 
 12619                 
 12620                 if (IN_type_symbol == NULL)
 12620                 if (IN_type_symbol == NULL)
 12621                   IN_type_symbol = last_type_symbol;
 12621                   IN_type_symbol = last_type_symbol;
 12622                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12622                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12623                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 12623                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 12624                 function_type_prefix = return_type_symbol;
 12624                 function_type_prefix = return_type_symbol;
 12625                 function_type_suffix = IN_type_symbol;
 12625                 function_type_suffix = IN_type_symbol;
 12626                 break;
 12626                 break;
 12627                 
 12627                 
 12640     case function_ulint_to_date :
 12640     case function_ulint_to_date :
 12641     {
 12641     {
 12642         symbol_c *last_type_symbol = NULL;
 12642         symbol_c *last_type_symbol = NULL;
 12643 
 12643 
 12644         {
 12644         {
 12645             identifier_c IN_param_name("IN");
 12645             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12646             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12646             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12647             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12647             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12648             symbol_c *IN_type_symbol = NULL;
 12648             symbol_c *IN_type_symbol = NULL;
 12649             
 12649             
 12650             /* Get the value from a foo(<param_value>) style call */
 12650             /* Get the value from a foo(<param_value>) style call */
 12651             if (IN_param_value == NULL)
 12651             if (IN_param_value == NULL)
 12652               IN_param_value = function_call_param_iterator.next_nf();
 12652               IN_param_value = function_call_param_iterator.next_nf();
 12660         
 12660         
 12661                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 12661                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 12662                 
 12662                 
 12663                 if (IN_type_symbol == NULL)
 12663                 if (IN_type_symbol == NULL)
 12664                   IN_type_symbol = last_type_symbol;
 12664                   IN_type_symbol = last_type_symbol;
 12665                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12665                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12666                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 12666                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 12667                 function_type_prefix = return_type_symbol;
 12667                 function_type_prefix = return_type_symbol;
 12668                 break;
 12668                 break;
 12669                 
 12669                 
 12670             }
 12670             }
 12682     case function_ulint_to_dword :
 12682     case function_ulint_to_dword :
 12683     {
 12683     {
 12684         symbol_c *last_type_symbol = NULL;
 12684         symbol_c *last_type_symbol = NULL;
 12685 
 12685 
 12686         {
 12686         {
 12687             identifier_c IN_param_name("IN");
 12687             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12688             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12688             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12689             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12689             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12690             symbol_c *IN_type_symbol = NULL;
 12690             symbol_c *IN_type_symbol = NULL;
 12691             
 12691             
 12692             /* Get the value from a foo(<param_value>) style call */
 12692             /* Get the value from a foo(<param_value>) style call */
 12693             if (IN_param_value == NULL)
 12693             if (IN_param_value == NULL)
 12694               IN_param_value = function_call_param_iterator.next_nf();
 12694               IN_param_value = function_call_param_iterator.next_nf();
 12702         
 12702         
 12703                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12703                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12704                 
 12704                 
 12705                 if (IN_type_symbol == NULL)
 12705                 if (IN_type_symbol == NULL)
 12706                   IN_type_symbol = last_type_symbol;
 12706                   IN_type_symbol = last_type_symbol;
 12707                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12707                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12708                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 12708                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 12709                 function_type_prefix = return_type_symbol;
 12709                 function_type_prefix = return_type_symbol;
 12710                 function_type_suffix = IN_type_symbol;
 12710                 function_type_suffix = IN_type_symbol;
 12711                 break;
 12711                 break;
 12712                 
 12712                 
 12725     case function_ulint_to_dt :
 12725     case function_ulint_to_dt :
 12726     {
 12726     {
 12727         symbol_c *last_type_symbol = NULL;
 12727         symbol_c *last_type_symbol = NULL;
 12728 
 12728 
 12729         {
 12729         {
 12730             identifier_c IN_param_name("IN");
 12730             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12731             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12731             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12732             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12732             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12733             symbol_c *IN_type_symbol = NULL;
 12733             symbol_c *IN_type_symbol = NULL;
 12734             
 12734             
 12735             /* Get the value from a foo(<param_value>) style call */
 12735             /* Get the value from a foo(<param_value>) style call */
 12736             if (IN_param_value == NULL)
 12736             if (IN_param_value == NULL)
 12737               IN_param_value = function_call_param_iterator.next_nf();
 12737               IN_param_value = function_call_param_iterator.next_nf();
 12745         
 12745         
 12746                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 12746                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 12747                 
 12747                 
 12748                 if (IN_type_symbol == NULL)
 12748                 if (IN_type_symbol == NULL)
 12749                   IN_type_symbol = last_type_symbol;
 12749                   IN_type_symbol = last_type_symbol;
 12750                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12750                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12751                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 12751                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 12752                 function_type_prefix = return_type_symbol;
 12752                 function_type_prefix = return_type_symbol;
 12753                 break;
 12753                 break;
 12754                 
 12754                 
 12755             }
 12755             }
 12767     case function_ulint_to_tod :
 12767     case function_ulint_to_tod :
 12768     {
 12768     {
 12769         symbol_c *last_type_symbol = NULL;
 12769         symbol_c *last_type_symbol = NULL;
 12770 
 12770 
 12771         {
 12771         {
 12772             identifier_c IN_param_name("IN");
 12772             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12773             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12773             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12774             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12774             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12775             symbol_c *IN_type_symbol = NULL;
 12775             symbol_c *IN_type_symbol = NULL;
 12776             
 12776             
 12777             /* Get the value from a foo(<param_value>) style call */
 12777             /* Get the value from a foo(<param_value>) style call */
 12778             if (IN_param_value == NULL)
 12778             if (IN_param_value == NULL)
 12779               IN_param_value = function_call_param_iterator.next_nf();
 12779               IN_param_value = function_call_param_iterator.next_nf();
 12787         
 12787         
 12788                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 12788                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 12789                 
 12789                 
 12790                 if (IN_type_symbol == NULL)
 12790                 if (IN_type_symbol == NULL)
 12791                   IN_type_symbol = last_type_symbol;
 12791                   IN_type_symbol = last_type_symbol;
 12792                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12792                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12793                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 12793                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 12794                 function_type_prefix = return_type_symbol;
 12794                 function_type_prefix = return_type_symbol;
 12795                 break;
 12795                 break;
 12796                 
 12796                 
 12797             }
 12797             }
 12809     case function_ulint_to_udint :
 12809     case function_ulint_to_udint :
 12810     {
 12810     {
 12811         symbol_c *last_type_symbol = NULL;
 12811         symbol_c *last_type_symbol = NULL;
 12812 
 12812 
 12813         {
 12813         {
 12814             identifier_c IN_param_name("IN");
 12814             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12815             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12815             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12816             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12816             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12817             symbol_c *IN_type_symbol = NULL;
 12817             symbol_c *IN_type_symbol = NULL;
 12818             
 12818             
 12819             /* Get the value from a foo(<param_value>) style call */
 12819             /* Get the value from a foo(<param_value>) style call */
 12820             if (IN_param_value == NULL)
 12820             if (IN_param_value == NULL)
 12821               IN_param_value = function_call_param_iterator.next_nf();
 12821               IN_param_value = function_call_param_iterator.next_nf();
 12829         
 12829         
 12830                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12830                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12831                 
 12831                 
 12832                 if (IN_type_symbol == NULL)
 12832                 if (IN_type_symbol == NULL)
 12833                   IN_type_symbol = last_type_symbol;
 12833                   IN_type_symbol = last_type_symbol;
 12834                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12834                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12835                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 12835                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 12836                 function_type_prefix = return_type_symbol;
 12836                 function_type_prefix = return_type_symbol;
 12837                 function_type_suffix = IN_type_symbol;
 12837                 function_type_suffix = IN_type_symbol;
 12838                 break;
 12838                 break;
 12839                 
 12839                 
 12852     case function_ulint_to_word :
 12852     case function_ulint_to_word :
 12853     {
 12853     {
 12854         symbol_c *last_type_symbol = NULL;
 12854         symbol_c *last_type_symbol = NULL;
 12855 
 12855 
 12856         {
 12856         {
 12857             identifier_c IN_param_name("IN");
 12857             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12858             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12858             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12859             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12859             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12860             symbol_c *IN_type_symbol = NULL;
 12860             symbol_c *IN_type_symbol = NULL;
 12861             
 12861             
 12862             /* Get the value from a foo(<param_value>) style call */
 12862             /* Get the value from a foo(<param_value>) style call */
 12863             if (IN_param_value == NULL)
 12863             if (IN_param_value == NULL)
 12864               IN_param_value = function_call_param_iterator.next_nf();
 12864               IN_param_value = function_call_param_iterator.next_nf();
 12872         
 12872         
 12873                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12873                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12874                 
 12874                 
 12875                 if (IN_type_symbol == NULL)
 12875                 if (IN_type_symbol == NULL)
 12876                   IN_type_symbol = last_type_symbol;
 12876                   IN_type_symbol = last_type_symbol;
 12877                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12877                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12878                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 12878                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 12879                 function_type_prefix = return_type_symbol;
 12879                 function_type_prefix = return_type_symbol;
 12880                 function_type_suffix = IN_type_symbol;
 12880                 function_type_suffix = IN_type_symbol;
 12881                 break;
 12881                 break;
 12882                 
 12882                 
 12895     case function_ulint_to_string :
 12895     case function_ulint_to_string :
 12896     {
 12896     {
 12897         symbol_c *last_type_symbol = NULL;
 12897         symbol_c *last_type_symbol = NULL;
 12898 
 12898 
 12899         {
 12899         {
 12900             identifier_c IN_param_name("IN");
 12900             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12901             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12901             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12902             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12902             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12903             symbol_c *IN_type_symbol = NULL;
 12903             symbol_c *IN_type_symbol = NULL;
 12904             
 12904             
 12905             /* Get the value from a foo(<param_value>) style call */
 12905             /* Get the value from a foo(<param_value>) style call */
 12906             if (IN_param_value == NULL)
 12906             if (IN_param_value == NULL)
 12907               IN_param_value = function_call_param_iterator.next_nf();
 12907               IN_param_value = function_call_param_iterator.next_nf();
 12915         
 12915         
 12916                 function_name = (symbol_c*)(new pragma_c("__uint_to_string"));
 12916                 function_name = (symbol_c*)(new pragma_c("__uint_to_string"));
 12917                 
 12917                 
 12918                 if (IN_type_symbol == NULL)
 12918                 if (IN_type_symbol == NULL)
 12919                   IN_type_symbol = last_type_symbol;
 12919                   IN_type_symbol = last_type_symbol;
 12920                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12920                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12921                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 12921                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 12922                 function_type_prefix = return_type_symbol;
 12922                 function_type_prefix = return_type_symbol;
 12923                 break;
 12923                 break;
 12924                 
 12924                 
 12925             }
 12925             }
 12937     case function_ulint_to_lword :
 12937     case function_ulint_to_lword :
 12938     {
 12938     {
 12939         symbol_c *last_type_symbol = NULL;
 12939         symbol_c *last_type_symbol = NULL;
 12940 
 12940 
 12941         {
 12941         {
 12942             identifier_c IN_param_name("IN");
 12942             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12943             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12943             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12944             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12944             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12945             symbol_c *IN_type_symbol = NULL;
 12945             symbol_c *IN_type_symbol = NULL;
 12946             
 12946             
 12947             /* Get the value from a foo(<param_value>) style call */
 12947             /* Get the value from a foo(<param_value>) style call */
 12948             if (IN_param_value == NULL)
 12948             if (IN_param_value == NULL)
 12949               IN_param_value = function_call_param_iterator.next_nf();
 12949               IN_param_value = function_call_param_iterator.next_nf();
 12957         
 12957         
 12958                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12958                 function_name = (symbol_c*)(new pragma_c("__move_"));
 12959                 
 12959                 
 12960                 if (IN_type_symbol == NULL)
 12960                 if (IN_type_symbol == NULL)
 12961                   IN_type_symbol = last_type_symbol;
 12961                   IN_type_symbol = last_type_symbol;
 12962                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12962                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 12963                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 12963                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 12964                 function_type_prefix = return_type_symbol;
 12964                 function_type_prefix = return_type_symbol;
 12965                 function_type_suffix = IN_type_symbol;
 12965                 function_type_suffix = IN_type_symbol;
 12966                 break;
 12966                 break;
 12967                 
 12967                 
 12980     case function_ulint_to_uint :
 12980     case function_ulint_to_uint :
 12981     {
 12981     {
 12982         symbol_c *last_type_symbol = NULL;
 12982         symbol_c *last_type_symbol = NULL;
 12983 
 12983 
 12984         {
 12984         {
 12985             identifier_c IN_param_name("IN");
 12985             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 12986             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12986             /* Get the value from a foo(<param_name> = <param_value>) style call */
 12987             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 12987             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 12988             symbol_c *IN_type_symbol = NULL;
 12988             symbol_c *IN_type_symbol = NULL;
 12989             
 12989             
 12990             /* Get the value from a foo(<param_value>) style call */
 12990             /* Get the value from a foo(<param_value>) style call */
 12991             if (IN_param_value == NULL)
 12991             if (IN_param_value == NULL)
 12992               IN_param_value = function_call_param_iterator.next_nf();
 12992               IN_param_value = function_call_param_iterator.next_nf();
 13000         
 13000         
 13001                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13001                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13002                 
 13002                 
 13003                 if (IN_type_symbol == NULL)
 13003                 if (IN_type_symbol == NULL)
 13004                   IN_type_symbol = last_type_symbol;
 13004                   IN_type_symbol = last_type_symbol;
 13005                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13005                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13006                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 13006                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 13007                 function_type_prefix = return_type_symbol;
 13007                 function_type_prefix = return_type_symbol;
 13008                 function_type_suffix = IN_type_symbol;
 13008                 function_type_suffix = IN_type_symbol;
 13009                 break;
 13009                 break;
 13010                 
 13010                 
 13023     case function_ulint_to_lreal :
 13023     case function_ulint_to_lreal :
 13024     {
 13024     {
 13025         symbol_c *last_type_symbol = NULL;
 13025         symbol_c *last_type_symbol = NULL;
 13026 
 13026 
 13027         {
 13027         {
 13028             identifier_c IN_param_name("IN");
 13028             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13029             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13029             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13030             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13030             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13031             symbol_c *IN_type_symbol = NULL;
 13031             symbol_c *IN_type_symbol = NULL;
 13032             
 13032             
 13033             /* Get the value from a foo(<param_value>) style call */
 13033             /* Get the value from a foo(<param_value>) style call */
 13034             if (IN_param_value == NULL)
 13034             if (IN_param_value == NULL)
 13035               IN_param_value = function_call_param_iterator.next_nf();
 13035               IN_param_value = function_call_param_iterator.next_nf();
 13043         
 13043         
 13044                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13044                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13045                 
 13045                 
 13046                 if (IN_type_symbol == NULL)
 13046                 if (IN_type_symbol == NULL)
 13047                   IN_type_symbol = last_type_symbol;
 13047                   IN_type_symbol = last_type_symbol;
 13048                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13048                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13049                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 13049                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 13050                 function_type_prefix = return_type_symbol;
 13050                 function_type_prefix = return_type_symbol;
 13051                 function_type_suffix = IN_type_symbol;
 13051                 function_type_suffix = IN_type_symbol;
 13052                 break;
 13052                 break;
 13053                 
 13053                 
 13066     case function_ulint_to_byte :
 13066     case function_ulint_to_byte :
 13067     {
 13067     {
 13068         symbol_c *last_type_symbol = NULL;
 13068         symbol_c *last_type_symbol = NULL;
 13069 
 13069 
 13070         {
 13070         {
 13071             identifier_c IN_param_name("IN");
 13071             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13072             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13072             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13073             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13073             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13074             symbol_c *IN_type_symbol = NULL;
 13074             symbol_c *IN_type_symbol = NULL;
 13075             
 13075             
 13076             /* Get the value from a foo(<param_value>) style call */
 13076             /* Get the value from a foo(<param_value>) style call */
 13077             if (IN_param_value == NULL)
 13077             if (IN_param_value == NULL)
 13078               IN_param_value = function_call_param_iterator.next_nf();
 13078               IN_param_value = function_call_param_iterator.next_nf();
 13086         
 13086         
 13087                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13087                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13088                 
 13088                 
 13089                 if (IN_type_symbol == NULL)
 13089                 if (IN_type_symbol == NULL)
 13090                   IN_type_symbol = last_type_symbol;
 13090                   IN_type_symbol = last_type_symbol;
 13091                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13091                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13092                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 13092                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 13093                 function_type_prefix = return_type_symbol;
 13093                 function_type_prefix = return_type_symbol;
 13094                 function_type_suffix = IN_type_symbol;
 13094                 function_type_suffix = IN_type_symbol;
 13095                 break;
 13095                 break;
 13096                 
 13096                 
 13109     case function_ulint_to_usint :
 13109     case function_ulint_to_usint :
 13110     {
 13110     {
 13111         symbol_c *last_type_symbol = NULL;
 13111         symbol_c *last_type_symbol = NULL;
 13112 
 13112 
 13113         {
 13113         {
 13114             identifier_c IN_param_name("IN");
 13114             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13115             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13115             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13116             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13116             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13117             symbol_c *IN_type_symbol = NULL;
 13117             symbol_c *IN_type_symbol = NULL;
 13118             
 13118             
 13119             /* Get the value from a foo(<param_value>) style call */
 13119             /* Get the value from a foo(<param_value>) style call */
 13120             if (IN_param_value == NULL)
 13120             if (IN_param_value == NULL)
 13121               IN_param_value = function_call_param_iterator.next_nf();
 13121               IN_param_value = function_call_param_iterator.next_nf();
 13129         
 13129         
 13130                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13130                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13131                 
 13131                 
 13132                 if (IN_type_symbol == NULL)
 13132                 if (IN_type_symbol == NULL)
 13133                   IN_type_symbol = last_type_symbol;
 13133                   IN_type_symbol = last_type_symbol;
 13134                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13134                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13135                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 13135                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 13136                 function_type_prefix = return_type_symbol;
 13136                 function_type_prefix = return_type_symbol;
 13137                 function_type_suffix = IN_type_symbol;
 13137                 function_type_suffix = IN_type_symbol;
 13138                 break;
 13138                 break;
 13139                 
 13139                 
 13152     case function_ulint_to_bool :
 13152     case function_ulint_to_bool :
 13153     {
 13153     {
 13154         symbol_c *last_type_symbol = NULL;
 13154         symbol_c *last_type_symbol = NULL;
 13155 
 13155 
 13156         {
 13156         {
 13157             identifier_c IN_param_name("IN");
 13157             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13158             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13158             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13159             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13159             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13160             symbol_c *IN_type_symbol = NULL;
 13160             symbol_c *IN_type_symbol = NULL;
 13161             
 13161             
 13162             /* Get the value from a foo(<param_value>) style call */
 13162             /* Get the value from a foo(<param_value>) style call */
 13163             if (IN_param_value == NULL)
 13163             if (IN_param_value == NULL)
 13164               IN_param_value = function_call_param_iterator.next_nf();
 13164               IN_param_value = function_call_param_iterator.next_nf();
 13172         
 13172         
 13173                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13173                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13174                 
 13174                 
 13175                 if (IN_type_symbol == NULL)
 13175                 if (IN_type_symbol == NULL)
 13176                   IN_type_symbol = last_type_symbol;
 13176                   IN_type_symbol = last_type_symbol;
 13177                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13177                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13178                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 13178                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 13179                 function_type_prefix = return_type_symbol;
 13179                 function_type_prefix = return_type_symbol;
 13180                 function_type_suffix = IN_type_symbol;
 13180                 function_type_suffix = IN_type_symbol;
 13181                 break;
 13181                 break;
 13182                 
 13182                 
 13195     case function_ulint_to_time :
 13195     case function_ulint_to_time :
 13196     {
 13196     {
 13197         symbol_c *last_type_symbol = NULL;
 13197         symbol_c *last_type_symbol = NULL;
 13198 
 13198 
 13199         {
 13199         {
 13200             identifier_c IN_param_name("IN");
 13200             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13201             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13201             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13202             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13202             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13203             symbol_c *IN_type_symbol = NULL;
 13203             symbol_c *IN_type_symbol = NULL;
 13204             
 13204             
 13205             /* Get the value from a foo(<param_value>) style call */
 13205             /* Get the value from a foo(<param_value>) style call */
 13206             if (IN_param_value == NULL)
 13206             if (IN_param_value == NULL)
 13207               IN_param_value = function_call_param_iterator.next_nf();
 13207               IN_param_value = function_call_param_iterator.next_nf();
 13215         
 13215         
 13216                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 13216                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 13217                 
 13217                 
 13218                 if (IN_type_symbol == NULL)
 13218                 if (IN_type_symbol == NULL)
 13219                   IN_type_symbol = last_type_symbol;
 13219                   IN_type_symbol = last_type_symbol;
 13220                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13220                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13221                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 13221                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 13222                 function_type_prefix = return_type_symbol;
 13222                 function_type_prefix = return_type_symbol;
 13223                 break;
 13223                 break;
 13224                 
 13224                 
 13225             }
 13225             }
 13237     case function_ulint_to_int :
 13237     case function_ulint_to_int :
 13238     {
 13238     {
 13239         symbol_c *last_type_symbol = NULL;
 13239         symbol_c *last_type_symbol = NULL;
 13240 
 13240 
 13241         {
 13241         {
 13242             identifier_c IN_param_name("IN");
 13242             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13243             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13243             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13244             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13244             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13245             symbol_c *IN_type_symbol = NULL;
 13245             symbol_c *IN_type_symbol = NULL;
 13246             
 13246             
 13247             /* Get the value from a foo(<param_value>) style call */
 13247             /* Get the value from a foo(<param_value>) style call */
 13248             if (IN_param_value == NULL)
 13248             if (IN_param_value == NULL)
 13249               IN_param_value = function_call_param_iterator.next_nf();
 13249               IN_param_value = function_call_param_iterator.next_nf();
 13257         
 13257         
 13258                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13258                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13259                 
 13259                 
 13260                 if (IN_type_symbol == NULL)
 13260                 if (IN_type_symbol == NULL)
 13261                   IN_type_symbol = last_type_symbol;
 13261                   IN_type_symbol = last_type_symbol;
 13262                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13262                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13263                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 13263                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 13264                 function_type_prefix = return_type_symbol;
 13264                 function_type_prefix = return_type_symbol;
 13265                 function_type_suffix = IN_type_symbol;
 13265                 function_type_suffix = IN_type_symbol;
 13266                 break;
 13266                 break;
 13267                 
 13267                 
 13280     case function_bool_to_real :
 13280     case function_bool_to_real :
 13281     {
 13281     {
 13282         symbol_c *last_type_symbol = NULL;
 13282         symbol_c *last_type_symbol = NULL;
 13283 
 13283 
 13284         {
 13284         {
 13285             identifier_c IN_param_name("IN");
 13285             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13286             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13286             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13287             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13287             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13288             symbol_c *IN_type_symbol = NULL;
 13288             symbol_c *IN_type_symbol = NULL;
 13289             
 13289             
 13290             /* Get the value from a foo(<param_value>) style call */
 13290             /* Get the value from a foo(<param_value>) style call */
 13291             if (IN_param_value == NULL)
 13291             if (IN_param_value == NULL)
 13292               IN_param_value = function_call_param_iterator.next_nf();
 13292               IN_param_value = function_call_param_iterator.next_nf();
 13300         
 13300         
 13301                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13301                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13302                 
 13302                 
 13303                 if (IN_type_symbol == NULL)
 13303                 if (IN_type_symbol == NULL)
 13304                   IN_type_symbol = last_type_symbol;
 13304                   IN_type_symbol = last_type_symbol;
 13305                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13305                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13306                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 13306                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 13307                 function_type_prefix = return_type_symbol;
 13307                 function_type_prefix = return_type_symbol;
 13308                 function_type_suffix = IN_type_symbol;
 13308                 function_type_suffix = IN_type_symbol;
 13309                 break;
 13309                 break;
 13310                 
 13310                 
 13323     case function_bool_to_sint :
 13323     case function_bool_to_sint :
 13324     {
 13324     {
 13325         symbol_c *last_type_symbol = NULL;
 13325         symbol_c *last_type_symbol = NULL;
 13326 
 13326 
 13327         {
 13327         {
 13328             identifier_c IN_param_name("IN");
 13328             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13329             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13329             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13330             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13330             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13331             symbol_c *IN_type_symbol = NULL;
 13331             symbol_c *IN_type_symbol = NULL;
 13332             
 13332             
 13333             /* Get the value from a foo(<param_value>) style call */
 13333             /* Get the value from a foo(<param_value>) style call */
 13334             if (IN_param_value == NULL)
 13334             if (IN_param_value == NULL)
 13335               IN_param_value = function_call_param_iterator.next_nf();
 13335               IN_param_value = function_call_param_iterator.next_nf();
 13343         
 13343         
 13344                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13344                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13345                 
 13345                 
 13346                 if (IN_type_symbol == NULL)
 13346                 if (IN_type_symbol == NULL)
 13347                   IN_type_symbol = last_type_symbol;
 13347                   IN_type_symbol = last_type_symbol;
 13348                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13348                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13349                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 13349                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 13350                 function_type_prefix = return_type_symbol;
 13350                 function_type_prefix = return_type_symbol;
 13351                 function_type_suffix = IN_type_symbol;
 13351                 function_type_suffix = IN_type_symbol;
 13352                 break;
 13352                 break;
 13353                 
 13353                 
 13366     case function_bool_to_lint :
 13366     case function_bool_to_lint :
 13367     {
 13367     {
 13368         symbol_c *last_type_symbol = NULL;
 13368         symbol_c *last_type_symbol = NULL;
 13369 
 13369 
 13370         {
 13370         {
 13371             identifier_c IN_param_name("IN");
 13371             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13372             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13372             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13373             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13373             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13374             symbol_c *IN_type_symbol = NULL;
 13374             symbol_c *IN_type_symbol = NULL;
 13375             
 13375             
 13376             /* Get the value from a foo(<param_value>) style call */
 13376             /* Get the value from a foo(<param_value>) style call */
 13377             if (IN_param_value == NULL)
 13377             if (IN_param_value == NULL)
 13378               IN_param_value = function_call_param_iterator.next_nf();
 13378               IN_param_value = function_call_param_iterator.next_nf();
 13386         
 13386         
 13387                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13387                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13388                 
 13388                 
 13389                 if (IN_type_symbol == NULL)
 13389                 if (IN_type_symbol == NULL)
 13390                   IN_type_symbol = last_type_symbol;
 13390                   IN_type_symbol = last_type_symbol;
 13391                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13391                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13392                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 13392                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 13393                 function_type_prefix = return_type_symbol;
 13393                 function_type_prefix = return_type_symbol;
 13394                 function_type_suffix = IN_type_symbol;
 13394                 function_type_suffix = IN_type_symbol;
 13395                 break;
 13395                 break;
 13396                 
 13396                 
 13409     case function_bool_to_dint :
 13409     case function_bool_to_dint :
 13410     {
 13410     {
 13411         symbol_c *last_type_symbol = NULL;
 13411         symbol_c *last_type_symbol = NULL;
 13412 
 13412 
 13413         {
 13413         {
 13414             identifier_c IN_param_name("IN");
 13414             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13415             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13415             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13416             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13416             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13417             symbol_c *IN_type_symbol = NULL;
 13417             symbol_c *IN_type_symbol = NULL;
 13418             
 13418             
 13419             /* Get the value from a foo(<param_value>) style call */
 13419             /* Get the value from a foo(<param_value>) style call */
 13420             if (IN_param_value == NULL)
 13420             if (IN_param_value == NULL)
 13421               IN_param_value = function_call_param_iterator.next_nf();
 13421               IN_param_value = function_call_param_iterator.next_nf();
 13429         
 13429         
 13430                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13430                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13431                 
 13431                 
 13432                 if (IN_type_symbol == NULL)
 13432                 if (IN_type_symbol == NULL)
 13433                   IN_type_symbol = last_type_symbol;
 13433                   IN_type_symbol = last_type_symbol;
 13434                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13434                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13435                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 13435                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 13436                 function_type_prefix = return_type_symbol;
 13436                 function_type_prefix = return_type_symbol;
 13437                 function_type_suffix = IN_type_symbol;
 13437                 function_type_suffix = IN_type_symbol;
 13438                 break;
 13438                 break;
 13439                 
 13439                 
 13452     case function_bool_to_date :
 13452     case function_bool_to_date :
 13453     {
 13453     {
 13454         symbol_c *last_type_symbol = NULL;
 13454         symbol_c *last_type_symbol = NULL;
 13455 
 13455 
 13456         {
 13456         {
 13457             identifier_c IN_param_name("IN");
 13457             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13458             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13458             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13459             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13459             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13460             symbol_c *IN_type_symbol = NULL;
 13460             symbol_c *IN_type_symbol = NULL;
 13461             
 13461             
 13462             /* Get the value from a foo(<param_value>) style call */
 13462             /* Get the value from a foo(<param_value>) style call */
 13463             if (IN_param_value == NULL)
 13463             if (IN_param_value == NULL)
 13464               IN_param_value = function_call_param_iterator.next_nf();
 13464               IN_param_value = function_call_param_iterator.next_nf();
 13472         
 13472         
 13473                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 13473                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 13474                 
 13474                 
 13475                 if (IN_type_symbol == NULL)
 13475                 if (IN_type_symbol == NULL)
 13476                   IN_type_symbol = last_type_symbol;
 13476                   IN_type_symbol = last_type_symbol;
 13477                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13477                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13478                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 13478                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 13479                 function_type_prefix = return_type_symbol;
 13479                 function_type_prefix = return_type_symbol;
 13480                 break;
 13480                 break;
 13481                 
 13481                 
 13482             }
 13482             }
 13494     case function_bool_to_dword :
 13494     case function_bool_to_dword :
 13495     {
 13495     {
 13496         symbol_c *last_type_symbol = NULL;
 13496         symbol_c *last_type_symbol = NULL;
 13497 
 13497 
 13498         {
 13498         {
 13499             identifier_c IN_param_name("IN");
 13499             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13500             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13500             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13501             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13501             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13502             symbol_c *IN_type_symbol = NULL;
 13502             symbol_c *IN_type_symbol = NULL;
 13503             
 13503             
 13504             /* Get the value from a foo(<param_value>) style call */
 13504             /* Get the value from a foo(<param_value>) style call */
 13505             if (IN_param_value == NULL)
 13505             if (IN_param_value == NULL)
 13506               IN_param_value = function_call_param_iterator.next_nf();
 13506               IN_param_value = function_call_param_iterator.next_nf();
 13514         
 13514         
 13515                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13515                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13516                 
 13516                 
 13517                 if (IN_type_symbol == NULL)
 13517                 if (IN_type_symbol == NULL)
 13518                   IN_type_symbol = last_type_symbol;
 13518                   IN_type_symbol = last_type_symbol;
 13519                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13519                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13520                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 13520                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 13521                 function_type_prefix = return_type_symbol;
 13521                 function_type_prefix = return_type_symbol;
 13522                 function_type_suffix = IN_type_symbol;
 13522                 function_type_suffix = IN_type_symbol;
 13523                 break;
 13523                 break;
 13524                 
 13524                 
 13537     case function_bool_to_dt :
 13537     case function_bool_to_dt :
 13538     {
 13538     {
 13539         symbol_c *last_type_symbol = NULL;
 13539         symbol_c *last_type_symbol = NULL;
 13540 
 13540 
 13541         {
 13541         {
 13542             identifier_c IN_param_name("IN");
 13542             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13543             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13543             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13544             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13544             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13545             symbol_c *IN_type_symbol = NULL;
 13545             symbol_c *IN_type_symbol = NULL;
 13546             
 13546             
 13547             /* Get the value from a foo(<param_value>) style call */
 13547             /* Get the value from a foo(<param_value>) style call */
 13548             if (IN_param_value == NULL)
 13548             if (IN_param_value == NULL)
 13549               IN_param_value = function_call_param_iterator.next_nf();
 13549               IN_param_value = function_call_param_iterator.next_nf();
 13557         
 13557         
 13558                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 13558                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 13559                 
 13559                 
 13560                 if (IN_type_symbol == NULL)
 13560                 if (IN_type_symbol == NULL)
 13561                   IN_type_symbol = last_type_symbol;
 13561                   IN_type_symbol = last_type_symbol;
 13562                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13562                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13563                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 13563                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 13564                 function_type_prefix = return_type_symbol;
 13564                 function_type_prefix = return_type_symbol;
 13565                 break;
 13565                 break;
 13566                 
 13566                 
 13567             }
 13567             }
 13579     case function_bool_to_tod :
 13579     case function_bool_to_tod :
 13580     {
 13580     {
 13581         symbol_c *last_type_symbol = NULL;
 13581         symbol_c *last_type_symbol = NULL;
 13582 
 13582 
 13583         {
 13583         {
 13584             identifier_c IN_param_name("IN");
 13584             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13585             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13585             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13586             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13586             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13587             symbol_c *IN_type_symbol = NULL;
 13587             symbol_c *IN_type_symbol = NULL;
 13588             
 13588             
 13589             /* Get the value from a foo(<param_value>) style call */
 13589             /* Get the value from a foo(<param_value>) style call */
 13590             if (IN_param_value == NULL)
 13590             if (IN_param_value == NULL)
 13591               IN_param_value = function_call_param_iterator.next_nf();
 13591               IN_param_value = function_call_param_iterator.next_nf();
 13599         
 13599         
 13600                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 13600                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 13601                 
 13601                 
 13602                 if (IN_type_symbol == NULL)
 13602                 if (IN_type_symbol == NULL)
 13603                   IN_type_symbol = last_type_symbol;
 13603                   IN_type_symbol = last_type_symbol;
 13604                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13604                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13605                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 13605                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 13606                 function_type_prefix = return_type_symbol;
 13606                 function_type_prefix = return_type_symbol;
 13607                 break;
 13607                 break;
 13608                 
 13608                 
 13609             }
 13609             }
 13621     case function_bool_to_udint :
 13621     case function_bool_to_udint :
 13622     {
 13622     {
 13623         symbol_c *last_type_symbol = NULL;
 13623         symbol_c *last_type_symbol = NULL;
 13624 
 13624 
 13625         {
 13625         {
 13626             identifier_c IN_param_name("IN");
 13626             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13627             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13627             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13628             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13628             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13629             symbol_c *IN_type_symbol = NULL;
 13629             symbol_c *IN_type_symbol = NULL;
 13630             
 13630             
 13631             /* Get the value from a foo(<param_value>) style call */
 13631             /* Get the value from a foo(<param_value>) style call */
 13632             if (IN_param_value == NULL)
 13632             if (IN_param_value == NULL)
 13633               IN_param_value = function_call_param_iterator.next_nf();
 13633               IN_param_value = function_call_param_iterator.next_nf();
 13641         
 13641         
 13642                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13642                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13643                 
 13643                 
 13644                 if (IN_type_symbol == NULL)
 13644                 if (IN_type_symbol == NULL)
 13645                   IN_type_symbol = last_type_symbol;
 13645                   IN_type_symbol = last_type_symbol;
 13646                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13646                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13647                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 13647                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 13648                 function_type_prefix = return_type_symbol;
 13648                 function_type_prefix = return_type_symbol;
 13649                 function_type_suffix = IN_type_symbol;
 13649                 function_type_suffix = IN_type_symbol;
 13650                 break;
 13650                 break;
 13651                 
 13651                 
 13664     case function_bool_to_word :
 13664     case function_bool_to_word :
 13665     {
 13665     {
 13666         symbol_c *last_type_symbol = NULL;
 13666         symbol_c *last_type_symbol = NULL;
 13667 
 13667 
 13668         {
 13668         {
 13669             identifier_c IN_param_name("IN");
 13669             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13670             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13670             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13671             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13671             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13672             symbol_c *IN_type_symbol = NULL;
 13672             symbol_c *IN_type_symbol = NULL;
 13673             
 13673             
 13674             /* Get the value from a foo(<param_value>) style call */
 13674             /* Get the value from a foo(<param_value>) style call */
 13675             if (IN_param_value == NULL)
 13675             if (IN_param_value == NULL)
 13676               IN_param_value = function_call_param_iterator.next_nf();
 13676               IN_param_value = function_call_param_iterator.next_nf();
 13684         
 13684         
 13685                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13685                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13686                 
 13686                 
 13687                 if (IN_type_symbol == NULL)
 13687                 if (IN_type_symbol == NULL)
 13688                   IN_type_symbol = last_type_symbol;
 13688                   IN_type_symbol = last_type_symbol;
 13689                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13689                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13690                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 13690                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 13691                 function_type_prefix = return_type_symbol;
 13691                 function_type_prefix = return_type_symbol;
 13692                 function_type_suffix = IN_type_symbol;
 13692                 function_type_suffix = IN_type_symbol;
 13693                 break;
 13693                 break;
 13694                 
 13694                 
 13707     case function_bool_to_string :
 13707     case function_bool_to_string :
 13708     {
 13708     {
 13709         symbol_c *last_type_symbol = NULL;
 13709         symbol_c *last_type_symbol = NULL;
 13710 
 13710 
 13711         {
 13711         {
 13712             identifier_c IN_param_name("IN");
 13712             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13713             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13713             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13714             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13714             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13715             symbol_c *IN_type_symbol = NULL;
 13715             symbol_c *IN_type_symbol = NULL;
 13716             
 13716             
 13717             /* Get the value from a foo(<param_value>) style call */
 13717             /* Get the value from a foo(<param_value>) style call */
 13718             if (IN_param_value == NULL)
 13718             if (IN_param_value == NULL)
 13719               IN_param_value = function_call_param_iterator.next_nf();
 13719               IN_param_value = function_call_param_iterator.next_nf();
 13727         
 13727         
 13728                 function_name = (symbol_c*)(new pragma_c("__bool_to_string"));
 13728                 function_name = (symbol_c*)(new pragma_c("__bool_to_string"));
 13729                 
 13729                 
 13730                 if (IN_type_symbol == NULL)
 13730                 if (IN_type_symbol == NULL)
 13731                   IN_type_symbol = last_type_symbol;
 13731                   IN_type_symbol = last_type_symbol;
 13732                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13732                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13733                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 13733                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 13734                 function_type_prefix = return_type_symbol;
 13734                 function_type_prefix = return_type_symbol;
 13735                 break;
 13735                 break;
 13736                 
 13736                 
 13737             }
 13737             }
 13749     case function_bool_to_lword :
 13749     case function_bool_to_lword :
 13750     {
 13750     {
 13751         symbol_c *last_type_symbol = NULL;
 13751         symbol_c *last_type_symbol = NULL;
 13752 
 13752 
 13753         {
 13753         {
 13754             identifier_c IN_param_name("IN");
 13754             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13755             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13755             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13756             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13756             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13757             symbol_c *IN_type_symbol = NULL;
 13757             symbol_c *IN_type_symbol = NULL;
 13758             
 13758             
 13759             /* Get the value from a foo(<param_value>) style call */
 13759             /* Get the value from a foo(<param_value>) style call */
 13760             if (IN_param_value == NULL)
 13760             if (IN_param_value == NULL)
 13761               IN_param_value = function_call_param_iterator.next_nf();
 13761               IN_param_value = function_call_param_iterator.next_nf();
 13769         
 13769         
 13770                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13770                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13771                 
 13771                 
 13772                 if (IN_type_symbol == NULL)
 13772                 if (IN_type_symbol == NULL)
 13773                   IN_type_symbol = last_type_symbol;
 13773                   IN_type_symbol = last_type_symbol;
 13774                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13774                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13775                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 13775                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 13776                 function_type_prefix = return_type_symbol;
 13776                 function_type_prefix = return_type_symbol;
 13777                 function_type_suffix = IN_type_symbol;
 13777                 function_type_suffix = IN_type_symbol;
 13778                 break;
 13778                 break;
 13779                 
 13779                 
 13792     case function_bool_to_uint :
 13792     case function_bool_to_uint :
 13793     {
 13793     {
 13794         symbol_c *last_type_symbol = NULL;
 13794         symbol_c *last_type_symbol = NULL;
 13795 
 13795 
 13796         {
 13796         {
 13797             identifier_c IN_param_name("IN");
 13797             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13798             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13798             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13799             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13799             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13800             symbol_c *IN_type_symbol = NULL;
 13800             symbol_c *IN_type_symbol = NULL;
 13801             
 13801             
 13802             /* Get the value from a foo(<param_value>) style call */
 13802             /* Get the value from a foo(<param_value>) style call */
 13803             if (IN_param_value == NULL)
 13803             if (IN_param_value == NULL)
 13804               IN_param_value = function_call_param_iterator.next_nf();
 13804               IN_param_value = function_call_param_iterator.next_nf();
 13812         
 13812         
 13813                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13813                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13814                 
 13814                 
 13815                 if (IN_type_symbol == NULL)
 13815                 if (IN_type_symbol == NULL)
 13816                   IN_type_symbol = last_type_symbol;
 13816                   IN_type_symbol = last_type_symbol;
 13817                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13817                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13818                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 13818                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 13819                 function_type_prefix = return_type_symbol;
 13819                 function_type_prefix = return_type_symbol;
 13820                 function_type_suffix = IN_type_symbol;
 13820                 function_type_suffix = IN_type_symbol;
 13821                 break;
 13821                 break;
 13822                 
 13822                 
 13835     case function_bool_to_lreal :
 13835     case function_bool_to_lreal :
 13836     {
 13836     {
 13837         symbol_c *last_type_symbol = NULL;
 13837         symbol_c *last_type_symbol = NULL;
 13838 
 13838 
 13839         {
 13839         {
 13840             identifier_c IN_param_name("IN");
 13840             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13841             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13841             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13842             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13842             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13843             symbol_c *IN_type_symbol = NULL;
 13843             symbol_c *IN_type_symbol = NULL;
 13844             
 13844             
 13845             /* Get the value from a foo(<param_value>) style call */
 13845             /* Get the value from a foo(<param_value>) style call */
 13846             if (IN_param_value == NULL)
 13846             if (IN_param_value == NULL)
 13847               IN_param_value = function_call_param_iterator.next_nf();
 13847               IN_param_value = function_call_param_iterator.next_nf();
 13855         
 13855         
 13856                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13856                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13857                 
 13857                 
 13858                 if (IN_type_symbol == NULL)
 13858                 if (IN_type_symbol == NULL)
 13859                   IN_type_symbol = last_type_symbol;
 13859                   IN_type_symbol = last_type_symbol;
 13860                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13860                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13861                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 13861                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 13862                 function_type_prefix = return_type_symbol;
 13862                 function_type_prefix = return_type_symbol;
 13863                 function_type_suffix = IN_type_symbol;
 13863                 function_type_suffix = IN_type_symbol;
 13864                 break;
 13864                 break;
 13865                 
 13865                 
 13878     case function_bool_to_byte :
 13878     case function_bool_to_byte :
 13879     {
 13879     {
 13880         symbol_c *last_type_symbol = NULL;
 13880         symbol_c *last_type_symbol = NULL;
 13881 
 13881 
 13882         {
 13882         {
 13883             identifier_c IN_param_name("IN");
 13883             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13884             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13884             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13885             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13885             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13886             symbol_c *IN_type_symbol = NULL;
 13886             symbol_c *IN_type_symbol = NULL;
 13887             
 13887             
 13888             /* Get the value from a foo(<param_value>) style call */
 13888             /* Get the value from a foo(<param_value>) style call */
 13889             if (IN_param_value == NULL)
 13889             if (IN_param_value == NULL)
 13890               IN_param_value = function_call_param_iterator.next_nf();
 13890               IN_param_value = function_call_param_iterator.next_nf();
 13898         
 13898         
 13899                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13899                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13900                 
 13900                 
 13901                 if (IN_type_symbol == NULL)
 13901                 if (IN_type_symbol == NULL)
 13902                   IN_type_symbol = last_type_symbol;
 13902                   IN_type_symbol = last_type_symbol;
 13903                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13903                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13904                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 13904                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 13905                 function_type_prefix = return_type_symbol;
 13905                 function_type_prefix = return_type_symbol;
 13906                 function_type_suffix = IN_type_symbol;
 13906                 function_type_suffix = IN_type_symbol;
 13907                 break;
 13907                 break;
 13908                 
 13908                 
 13921     case function_bool_to_usint :
 13921     case function_bool_to_usint :
 13922     {
 13922     {
 13923         symbol_c *last_type_symbol = NULL;
 13923         symbol_c *last_type_symbol = NULL;
 13924 
 13924 
 13925         {
 13925         {
 13926             identifier_c IN_param_name("IN");
 13926             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13927             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13927             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13928             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13928             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13929             symbol_c *IN_type_symbol = NULL;
 13929             symbol_c *IN_type_symbol = NULL;
 13930             
 13930             
 13931             /* Get the value from a foo(<param_value>) style call */
 13931             /* Get the value from a foo(<param_value>) style call */
 13932             if (IN_param_value == NULL)
 13932             if (IN_param_value == NULL)
 13933               IN_param_value = function_call_param_iterator.next_nf();
 13933               IN_param_value = function_call_param_iterator.next_nf();
 13941         
 13941         
 13942                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13942                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13943                 
 13943                 
 13944                 if (IN_type_symbol == NULL)
 13944                 if (IN_type_symbol == NULL)
 13945                   IN_type_symbol = last_type_symbol;
 13945                   IN_type_symbol = last_type_symbol;
 13946                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13946                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13947                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 13947                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 13948                 function_type_prefix = return_type_symbol;
 13948                 function_type_prefix = return_type_symbol;
 13949                 function_type_suffix = IN_type_symbol;
 13949                 function_type_suffix = IN_type_symbol;
 13950                 break;
 13950                 break;
 13951                 
 13951                 
 13964     case function_bool_to_ulint :
 13964     case function_bool_to_ulint :
 13965     {
 13965     {
 13966         symbol_c *last_type_symbol = NULL;
 13966         symbol_c *last_type_symbol = NULL;
 13967 
 13967 
 13968         {
 13968         {
 13969             identifier_c IN_param_name("IN");
 13969             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 13970             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13970             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13971             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 13971             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 13972             symbol_c *IN_type_symbol = NULL;
 13972             symbol_c *IN_type_symbol = NULL;
 13973             
 13973             
 13974             /* Get the value from a foo(<param_value>) style call */
 13974             /* Get the value from a foo(<param_value>) style call */
 13975             if (IN_param_value == NULL)
 13975             if (IN_param_value == NULL)
 13976               IN_param_value = function_call_param_iterator.next_nf();
 13976               IN_param_value = function_call_param_iterator.next_nf();
 13984         
 13984         
 13985                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13985                 function_name = (symbol_c*)(new pragma_c("__move_"));
 13986                 
 13986                 
 13987                 if (IN_type_symbol == NULL)
 13987                 if (IN_type_symbol == NULL)
 13988                   IN_type_symbol = last_type_symbol;
 13988                   IN_type_symbol = last_type_symbol;
 13989                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13989                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13990                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 13990                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 13991                 function_type_prefix = return_type_symbol;
 13991                 function_type_prefix = return_type_symbol;
 13992                 function_type_suffix = IN_type_symbol;
 13992                 function_type_suffix = IN_type_symbol;
 13993                 break;
 13993                 break;
 13994                 
 13994                 
 14007     case function_bool_to_time :
 14007     case function_bool_to_time :
 14008     {
 14008     {
 14009         symbol_c *last_type_symbol = NULL;
 14009         symbol_c *last_type_symbol = NULL;
 14010 
 14010 
 14011         {
 14011         {
 14012             identifier_c IN_param_name("IN");
 14012             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14013             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14013             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14014             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14014             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14015             symbol_c *IN_type_symbol = NULL;
 14015             symbol_c *IN_type_symbol = NULL;
 14016             
 14016             
 14017             /* Get the value from a foo(<param_value>) style call */
 14017             /* Get the value from a foo(<param_value>) style call */
 14018             if (IN_param_value == NULL)
 14018             if (IN_param_value == NULL)
 14019               IN_param_value = function_call_param_iterator.next_nf();
 14019               IN_param_value = function_call_param_iterator.next_nf();
 14027         
 14027         
 14028                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 14028                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 14029                 
 14029                 
 14030                 if (IN_type_symbol == NULL)
 14030                 if (IN_type_symbol == NULL)
 14031                   IN_type_symbol = last_type_symbol;
 14031                   IN_type_symbol = last_type_symbol;
 14032                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14032                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14033                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 14033                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 14034                 function_type_prefix = return_type_symbol;
 14034                 function_type_prefix = return_type_symbol;
 14035                 break;
 14035                 break;
 14036                 
 14036                 
 14037             }
 14037             }
 14049     case function_bool_to_int :
 14049     case function_bool_to_int :
 14050     {
 14050     {
 14051         symbol_c *last_type_symbol = NULL;
 14051         symbol_c *last_type_symbol = NULL;
 14052 
 14052 
 14053         {
 14053         {
 14054             identifier_c IN_param_name("IN");
 14054             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14055             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14055             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14056             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14056             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14057             symbol_c *IN_type_symbol = NULL;
 14057             symbol_c *IN_type_symbol = NULL;
 14058             
 14058             
 14059             /* Get the value from a foo(<param_value>) style call */
 14059             /* Get the value from a foo(<param_value>) style call */
 14060             if (IN_param_value == NULL)
 14060             if (IN_param_value == NULL)
 14061               IN_param_value = function_call_param_iterator.next_nf();
 14061               IN_param_value = function_call_param_iterator.next_nf();
 14069         
 14069         
 14070                 function_name = (symbol_c*)(new pragma_c("__move_"));
 14070                 function_name = (symbol_c*)(new pragma_c("__move_"));
 14071                 
 14071                 
 14072                 if (IN_type_symbol == NULL)
 14072                 if (IN_type_symbol == NULL)
 14073                   IN_type_symbol = last_type_symbol;
 14073                   IN_type_symbol = last_type_symbol;
 14074                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14074                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14075                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 14075                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 14076                 function_type_prefix = return_type_symbol;
 14076                 function_type_prefix = return_type_symbol;
 14077                 function_type_suffix = IN_type_symbol;
 14077                 function_type_suffix = IN_type_symbol;
 14078                 break;
 14078                 break;
 14079                 
 14079                 
 14092     case function_time_to_real :
 14092     case function_time_to_real :
 14093     {
 14093     {
 14094         symbol_c *last_type_symbol = NULL;
 14094         symbol_c *last_type_symbol = NULL;
 14095 
 14095 
 14096         {
 14096         {
 14097             identifier_c IN_param_name("IN");
 14097             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14098             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14098             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14099             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14099             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14100             symbol_c *IN_type_symbol = NULL;
 14100             symbol_c *IN_type_symbol = NULL;
 14101             
 14101             
 14102             /* Get the value from a foo(<param_value>) style call */
 14102             /* Get the value from a foo(<param_value>) style call */
 14103             if (IN_param_value == NULL)
 14103             if (IN_param_value == NULL)
 14104               IN_param_value = function_call_param_iterator.next_nf();
 14104               IN_param_value = function_call_param_iterator.next_nf();
 14112         
 14112         
 14113                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
 14113                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
 14114                 
 14114                 
 14115                 if (IN_type_symbol == NULL)
 14115                 if (IN_type_symbol == NULL)
 14116                   IN_type_symbol = last_type_symbol;
 14116                   IN_type_symbol = last_type_symbol;
 14117                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14117                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14118                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 14118                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 14119                 function_type_prefix = return_type_symbol;
 14119                 function_type_prefix = return_type_symbol;
 14120                 break;
 14120                 break;
 14121                 
 14121                 
 14122             }
 14122             }
 14134     case function_time_to_sint :
 14134     case function_time_to_sint :
 14135     {
 14135     {
 14136         symbol_c *last_type_symbol = NULL;
 14136         symbol_c *last_type_symbol = NULL;
 14137 
 14137 
 14138         {
 14138         {
 14139             identifier_c IN_param_name("IN");
 14139             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14140             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14140             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14141             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14141             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14142             symbol_c *IN_type_symbol = NULL;
 14142             symbol_c *IN_type_symbol = NULL;
 14143             
 14143             
 14144             /* Get the value from a foo(<param_value>) style call */
 14144             /* Get the value from a foo(<param_value>) style call */
 14145             if (IN_param_value == NULL)
 14145             if (IN_param_value == NULL)
 14146               IN_param_value = function_call_param_iterator.next_nf();
 14146               IN_param_value = function_call_param_iterator.next_nf();
 14154         
 14154         
 14155                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14155                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14156                 
 14156                 
 14157                 if (IN_type_symbol == NULL)
 14157                 if (IN_type_symbol == NULL)
 14158                   IN_type_symbol = last_type_symbol;
 14158                   IN_type_symbol = last_type_symbol;
 14159                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14159                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14160                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 14160                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 14161                 function_type_prefix = return_type_symbol;
 14161                 function_type_prefix = return_type_symbol;
 14162                 break;
 14162                 break;
 14163                 
 14163                 
 14164             }
 14164             }
 14176     case function_time_to_lint :
 14176     case function_time_to_lint :
 14177     {
 14177     {
 14178         symbol_c *last_type_symbol = NULL;
 14178         symbol_c *last_type_symbol = NULL;
 14179 
 14179 
 14180         {
 14180         {
 14181             identifier_c IN_param_name("IN");
 14181             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14182             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14182             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14183             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14183             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14184             symbol_c *IN_type_symbol = NULL;
 14184             symbol_c *IN_type_symbol = NULL;
 14185             
 14185             
 14186             /* Get the value from a foo(<param_value>) style call */
 14186             /* Get the value from a foo(<param_value>) style call */
 14187             if (IN_param_value == NULL)
 14187             if (IN_param_value == NULL)
 14188               IN_param_value = function_call_param_iterator.next_nf();
 14188               IN_param_value = function_call_param_iterator.next_nf();
 14196         
 14196         
 14197                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14197                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14198                 
 14198                 
 14199                 if (IN_type_symbol == NULL)
 14199                 if (IN_type_symbol == NULL)
 14200                   IN_type_symbol = last_type_symbol;
 14200                   IN_type_symbol = last_type_symbol;
 14201                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14201                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14202                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 14202                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 14203                 function_type_prefix = return_type_symbol;
 14203                 function_type_prefix = return_type_symbol;
 14204                 break;
 14204                 break;
 14205                 
 14205                 
 14206             }
 14206             }
 14218     case function_time_to_dint :
 14218     case function_time_to_dint :
 14219     {
 14219     {
 14220         symbol_c *last_type_symbol = NULL;
 14220         symbol_c *last_type_symbol = NULL;
 14221 
 14221 
 14222         {
 14222         {
 14223             identifier_c IN_param_name("IN");
 14223             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14224             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14224             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14225             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14225             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14226             symbol_c *IN_type_symbol = NULL;
 14226             symbol_c *IN_type_symbol = NULL;
 14227             
 14227             
 14228             /* Get the value from a foo(<param_value>) style call */
 14228             /* Get the value from a foo(<param_value>) style call */
 14229             if (IN_param_value == NULL)
 14229             if (IN_param_value == NULL)
 14230               IN_param_value = function_call_param_iterator.next_nf();
 14230               IN_param_value = function_call_param_iterator.next_nf();
 14238         
 14238         
 14239                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14239                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14240                 
 14240                 
 14241                 if (IN_type_symbol == NULL)
 14241                 if (IN_type_symbol == NULL)
 14242                   IN_type_symbol = last_type_symbol;
 14242                   IN_type_symbol = last_type_symbol;
 14243                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14243                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14244                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 14244                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 14245                 function_type_prefix = return_type_symbol;
 14245                 function_type_prefix = return_type_symbol;
 14246                 break;
 14246                 break;
 14247                 
 14247                 
 14248             }
 14248             }
 14260     case function_time_to_dword :
 14260     case function_time_to_dword :
 14261     {
 14261     {
 14262         symbol_c *last_type_symbol = NULL;
 14262         symbol_c *last_type_symbol = NULL;
 14263 
 14263 
 14264         {
 14264         {
 14265             identifier_c IN_param_name("IN");
 14265             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14266             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14266             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14267             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14267             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14268             symbol_c *IN_type_symbol = NULL;
 14268             symbol_c *IN_type_symbol = NULL;
 14269             
 14269             
 14270             /* Get the value from a foo(<param_value>) style call */
 14270             /* Get the value from a foo(<param_value>) style call */
 14271             if (IN_param_value == NULL)
 14271             if (IN_param_value == NULL)
 14272               IN_param_value = function_call_param_iterator.next_nf();
 14272               IN_param_value = function_call_param_iterator.next_nf();
 14280         
 14280         
 14281                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14281                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14282                 
 14282                 
 14283                 if (IN_type_symbol == NULL)
 14283                 if (IN_type_symbol == NULL)
 14284                   IN_type_symbol = last_type_symbol;
 14284                   IN_type_symbol = last_type_symbol;
 14285                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14285                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14286                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 14286                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 14287                 function_type_prefix = return_type_symbol;
 14287                 function_type_prefix = return_type_symbol;
 14288                 break;
 14288                 break;
 14289                 
 14289                 
 14290             }
 14290             }
 14302     case function_time_to_udint :
 14302     case function_time_to_udint :
 14303     {
 14303     {
 14304         symbol_c *last_type_symbol = NULL;
 14304         symbol_c *last_type_symbol = NULL;
 14305 
 14305 
 14306         {
 14306         {
 14307             identifier_c IN_param_name("IN");
 14307             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14308             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14308             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14309             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14309             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14310             symbol_c *IN_type_symbol = NULL;
 14310             symbol_c *IN_type_symbol = NULL;
 14311             
 14311             
 14312             /* Get the value from a foo(<param_value>) style call */
 14312             /* Get the value from a foo(<param_value>) style call */
 14313             if (IN_param_value == NULL)
 14313             if (IN_param_value == NULL)
 14314               IN_param_value = function_call_param_iterator.next_nf();
 14314               IN_param_value = function_call_param_iterator.next_nf();
 14322         
 14322         
 14323                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14323                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14324                 
 14324                 
 14325                 if (IN_type_symbol == NULL)
 14325                 if (IN_type_symbol == NULL)
 14326                   IN_type_symbol = last_type_symbol;
 14326                   IN_type_symbol = last_type_symbol;
 14327                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14327                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14328                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 14328                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 14329                 function_type_prefix = return_type_symbol;
 14329                 function_type_prefix = return_type_symbol;
 14330                 break;
 14330                 break;
 14331                 
 14331                 
 14332             }
 14332             }
 14344     case function_time_to_word :
 14344     case function_time_to_word :
 14345     {
 14345     {
 14346         symbol_c *last_type_symbol = NULL;
 14346         symbol_c *last_type_symbol = NULL;
 14347 
 14347 
 14348         {
 14348         {
 14349             identifier_c IN_param_name("IN");
 14349             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14350             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14350             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14351             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14351             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14352             symbol_c *IN_type_symbol = NULL;
 14352             symbol_c *IN_type_symbol = NULL;
 14353             
 14353             
 14354             /* Get the value from a foo(<param_value>) style call */
 14354             /* Get the value from a foo(<param_value>) style call */
 14355             if (IN_param_value == NULL)
 14355             if (IN_param_value == NULL)
 14356               IN_param_value = function_call_param_iterator.next_nf();
 14356               IN_param_value = function_call_param_iterator.next_nf();
 14364         
 14364         
 14365                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14365                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14366                 
 14366                 
 14367                 if (IN_type_symbol == NULL)
 14367                 if (IN_type_symbol == NULL)
 14368                   IN_type_symbol = last_type_symbol;
 14368                   IN_type_symbol = last_type_symbol;
 14369                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14369                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14370                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 14370                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 14371                 function_type_prefix = return_type_symbol;
 14371                 function_type_prefix = return_type_symbol;
 14372                 break;
 14372                 break;
 14373                 
 14373                 
 14374             }
 14374             }
 14386     case function_time_to_string :
 14386     case function_time_to_string :
 14387     {
 14387     {
 14388         symbol_c *last_type_symbol = NULL;
 14388         symbol_c *last_type_symbol = NULL;
 14389 
 14389 
 14390         {
 14390         {
 14391             identifier_c IN_param_name("IN");
 14391             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14392             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14392             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14393             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14393             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14394             symbol_c *IN_type_symbol = NULL;
 14394             symbol_c *IN_type_symbol = NULL;
 14395             
 14395             
 14396             /* Get the value from a foo(<param_value>) style call */
 14396             /* Get the value from a foo(<param_value>) style call */
 14397             if (IN_param_value == NULL)
 14397             if (IN_param_value == NULL)
 14398               IN_param_value = function_call_param_iterator.next_nf();
 14398               IN_param_value = function_call_param_iterator.next_nf();
 14406         
 14406         
 14407                 function_name = (symbol_c*)(new pragma_c("__time_to_string"));
 14407                 function_name = (symbol_c*)(new pragma_c("__time_to_string"));
 14408                 
 14408                 
 14409                 if (IN_type_symbol == NULL)
 14409                 if (IN_type_symbol == NULL)
 14410                   IN_type_symbol = last_type_symbol;
 14410                   IN_type_symbol = last_type_symbol;
 14411                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14411                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14412                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 14412                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 14413                 function_type_prefix = return_type_symbol;
 14413                 function_type_prefix = return_type_symbol;
 14414                 break;
 14414                 break;
 14415                 
 14415                 
 14416             }
 14416             }
 14428     case function_time_to_lword :
 14428     case function_time_to_lword :
 14429     {
 14429     {
 14430         symbol_c *last_type_symbol = NULL;
 14430         symbol_c *last_type_symbol = NULL;
 14431 
 14431 
 14432         {
 14432         {
 14433             identifier_c IN_param_name("IN");
 14433             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14434             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14434             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14435             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14435             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14436             symbol_c *IN_type_symbol = NULL;
 14436             symbol_c *IN_type_symbol = NULL;
 14437             
 14437             
 14438             /* Get the value from a foo(<param_value>) style call */
 14438             /* Get the value from a foo(<param_value>) style call */
 14439             if (IN_param_value == NULL)
 14439             if (IN_param_value == NULL)
 14440               IN_param_value = function_call_param_iterator.next_nf();
 14440               IN_param_value = function_call_param_iterator.next_nf();
 14448         
 14448         
 14449                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14449                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14450                 
 14450                 
 14451                 if (IN_type_symbol == NULL)
 14451                 if (IN_type_symbol == NULL)
 14452                   IN_type_symbol = last_type_symbol;
 14452                   IN_type_symbol = last_type_symbol;
 14453                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14453                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14454                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 14454                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 14455                 function_type_prefix = return_type_symbol;
 14455                 function_type_prefix = return_type_symbol;
 14456                 break;
 14456                 break;
 14457                 
 14457                 
 14458             }
 14458             }
 14470     case function_time_to_uint :
 14470     case function_time_to_uint :
 14471     {
 14471     {
 14472         symbol_c *last_type_symbol = NULL;
 14472         symbol_c *last_type_symbol = NULL;
 14473 
 14473 
 14474         {
 14474         {
 14475             identifier_c IN_param_name("IN");
 14475             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14476             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14476             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14477             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14477             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14478             symbol_c *IN_type_symbol = NULL;
 14478             symbol_c *IN_type_symbol = NULL;
 14479             
 14479             
 14480             /* Get the value from a foo(<param_value>) style call */
 14480             /* Get the value from a foo(<param_value>) style call */
 14481             if (IN_param_value == NULL)
 14481             if (IN_param_value == NULL)
 14482               IN_param_value = function_call_param_iterator.next_nf();
 14482               IN_param_value = function_call_param_iterator.next_nf();
 14490         
 14490         
 14491                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14491                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14492                 
 14492                 
 14493                 if (IN_type_symbol == NULL)
 14493                 if (IN_type_symbol == NULL)
 14494                   IN_type_symbol = last_type_symbol;
 14494                   IN_type_symbol = last_type_symbol;
 14495                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14495                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14496                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 14496                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 14497                 function_type_prefix = return_type_symbol;
 14497                 function_type_prefix = return_type_symbol;
 14498                 break;
 14498                 break;
 14499                 
 14499                 
 14500             }
 14500             }
 14512     case function_time_to_lreal :
 14512     case function_time_to_lreal :
 14513     {
 14513     {
 14514         symbol_c *last_type_symbol = NULL;
 14514         symbol_c *last_type_symbol = NULL;
 14515 
 14515 
 14516         {
 14516         {
 14517             identifier_c IN_param_name("IN");
 14517             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14518             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14518             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14519             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14519             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14520             symbol_c *IN_type_symbol = NULL;
 14520             symbol_c *IN_type_symbol = NULL;
 14521             
 14521             
 14522             /* Get the value from a foo(<param_value>) style call */
 14522             /* Get the value from a foo(<param_value>) style call */
 14523             if (IN_param_value == NULL)
 14523             if (IN_param_value == NULL)
 14524               IN_param_value = function_call_param_iterator.next_nf();
 14524               IN_param_value = function_call_param_iterator.next_nf();
 14532         
 14532         
 14533                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
 14533                 function_name = (symbol_c*)(new pragma_c("__time_to_real"));
 14534                 
 14534                 
 14535                 if (IN_type_symbol == NULL)
 14535                 if (IN_type_symbol == NULL)
 14536                   IN_type_symbol = last_type_symbol;
 14536                   IN_type_symbol = last_type_symbol;
 14537                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14537                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14538                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 14538                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 14539                 function_type_prefix = return_type_symbol;
 14539                 function_type_prefix = return_type_symbol;
 14540                 break;
 14540                 break;
 14541                 
 14541                 
 14542             }
 14542             }
 14554     case function_time_to_byte :
 14554     case function_time_to_byte :
 14555     {
 14555     {
 14556         symbol_c *last_type_symbol = NULL;
 14556         symbol_c *last_type_symbol = NULL;
 14557 
 14557 
 14558         {
 14558         {
 14559             identifier_c IN_param_name("IN");
 14559             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14560             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14560             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14561             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14561             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14562             symbol_c *IN_type_symbol = NULL;
 14562             symbol_c *IN_type_symbol = NULL;
 14563             
 14563             
 14564             /* Get the value from a foo(<param_value>) style call */
 14564             /* Get the value from a foo(<param_value>) style call */
 14565             if (IN_param_value == NULL)
 14565             if (IN_param_value == NULL)
 14566               IN_param_value = function_call_param_iterator.next_nf();
 14566               IN_param_value = function_call_param_iterator.next_nf();
 14574         
 14574         
 14575                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14575                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14576                 
 14576                 
 14577                 if (IN_type_symbol == NULL)
 14577                 if (IN_type_symbol == NULL)
 14578                   IN_type_symbol = last_type_symbol;
 14578                   IN_type_symbol = last_type_symbol;
 14579                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14579                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14580                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 14580                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 14581                 function_type_prefix = return_type_symbol;
 14581                 function_type_prefix = return_type_symbol;
 14582                 break;
 14582                 break;
 14583                 
 14583                 
 14584             }
 14584             }
 14596     case function_time_to_usint :
 14596     case function_time_to_usint :
 14597     {
 14597     {
 14598         symbol_c *last_type_symbol = NULL;
 14598         symbol_c *last_type_symbol = NULL;
 14599 
 14599 
 14600         {
 14600         {
 14601             identifier_c IN_param_name("IN");
 14601             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14602             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14602             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14603             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14603             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14604             symbol_c *IN_type_symbol = NULL;
 14604             symbol_c *IN_type_symbol = NULL;
 14605             
 14605             
 14606             /* Get the value from a foo(<param_value>) style call */
 14606             /* Get the value from a foo(<param_value>) style call */
 14607             if (IN_param_value == NULL)
 14607             if (IN_param_value == NULL)
 14608               IN_param_value = function_call_param_iterator.next_nf();
 14608               IN_param_value = function_call_param_iterator.next_nf();
 14616         
 14616         
 14617                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14617                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14618                 
 14618                 
 14619                 if (IN_type_symbol == NULL)
 14619                 if (IN_type_symbol == NULL)
 14620                   IN_type_symbol = last_type_symbol;
 14620                   IN_type_symbol = last_type_symbol;
 14621                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14621                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14622                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 14622                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 14623                 function_type_prefix = return_type_symbol;
 14623                 function_type_prefix = return_type_symbol;
 14624                 break;
 14624                 break;
 14625                 
 14625                 
 14626             }
 14626             }
 14638     case function_time_to_ulint :
 14638     case function_time_to_ulint :
 14639     {
 14639     {
 14640         symbol_c *last_type_symbol = NULL;
 14640         symbol_c *last_type_symbol = NULL;
 14641 
 14641 
 14642         {
 14642         {
 14643             identifier_c IN_param_name("IN");
 14643             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14644             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14644             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14645             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14645             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14646             symbol_c *IN_type_symbol = NULL;
 14646             symbol_c *IN_type_symbol = NULL;
 14647             
 14647             
 14648             /* Get the value from a foo(<param_value>) style call */
 14648             /* Get the value from a foo(<param_value>) style call */
 14649             if (IN_param_value == NULL)
 14649             if (IN_param_value == NULL)
 14650               IN_param_value = function_call_param_iterator.next_nf();
 14650               IN_param_value = function_call_param_iterator.next_nf();
 14658         
 14658         
 14659                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14659                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14660                 
 14660                 
 14661                 if (IN_type_symbol == NULL)
 14661                 if (IN_type_symbol == NULL)
 14662                   IN_type_symbol = last_type_symbol;
 14662                   IN_type_symbol = last_type_symbol;
 14663                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14663                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14664                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 14664                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 14665                 function_type_prefix = return_type_symbol;
 14665                 function_type_prefix = return_type_symbol;
 14666                 break;
 14666                 break;
 14667                 
 14667                 
 14668             }
 14668             }
 14680     case function_time_to_int :
 14680     case function_time_to_int :
 14681     {
 14681     {
 14682         symbol_c *last_type_symbol = NULL;
 14682         symbol_c *last_type_symbol = NULL;
 14683 
 14683 
 14684         {
 14684         {
 14685             identifier_c IN_param_name("IN");
 14685             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14686             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14686             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14687             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14687             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14688             symbol_c *IN_type_symbol = NULL;
 14688             symbol_c *IN_type_symbol = NULL;
 14689             
 14689             
 14690             /* Get the value from a foo(<param_value>) style call */
 14690             /* Get the value from a foo(<param_value>) style call */
 14691             if (IN_param_value == NULL)
 14691             if (IN_param_value == NULL)
 14692               IN_param_value = function_call_param_iterator.next_nf();
 14692               IN_param_value = function_call_param_iterator.next_nf();
 14700         
 14700         
 14701                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14701                 function_name = (symbol_c*)(new pragma_c("__time_to_int"));
 14702                 
 14702                 
 14703                 if (IN_type_symbol == NULL)
 14703                 if (IN_type_symbol == NULL)
 14704                   IN_type_symbol = last_type_symbol;
 14704                   IN_type_symbol = last_type_symbol;
 14705                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14705                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14706                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 14706                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 14707                 function_type_prefix = return_type_symbol;
 14707                 function_type_prefix = return_type_symbol;
 14708                 break;
 14708                 break;
 14709                 
 14709                 
 14710             }
 14710             }
 14722     case function_int_to_real :
 14722     case function_int_to_real :
 14723     {
 14723     {
 14724         symbol_c *last_type_symbol = NULL;
 14724         symbol_c *last_type_symbol = NULL;
 14725 
 14725 
 14726         {
 14726         {
 14727             identifier_c IN_param_name("IN");
 14727             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14728             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14728             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14729             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14729             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14730             symbol_c *IN_type_symbol = NULL;
 14730             symbol_c *IN_type_symbol = NULL;
 14731             
 14731             
 14732             /* Get the value from a foo(<param_value>) style call */
 14732             /* Get the value from a foo(<param_value>) style call */
 14733             if (IN_param_value == NULL)
 14733             if (IN_param_value == NULL)
 14734               IN_param_value = function_call_param_iterator.next_nf();
 14734               IN_param_value = function_call_param_iterator.next_nf();
 14742         
 14742         
 14743                 function_name = (symbol_c*)(new pragma_c("__move_"));
 14743                 function_name = (symbol_c*)(new pragma_c("__move_"));
 14744                 
 14744                 
 14745                 if (IN_type_symbol == NULL)
 14745                 if (IN_type_symbol == NULL)
 14746                   IN_type_symbol = last_type_symbol;
 14746                   IN_type_symbol = last_type_symbol;
 14747                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14747                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14748                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 14748                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
 14749                 function_type_prefix = return_type_symbol;
 14749                 function_type_prefix = return_type_symbol;
 14750                 function_type_suffix = IN_type_symbol;
 14750                 function_type_suffix = IN_type_symbol;
 14751                 break;
 14751                 break;
 14752                 
 14752                 
 14765     case function_int_to_sint :
 14765     case function_int_to_sint :
 14766     {
 14766     {
 14767         symbol_c *last_type_symbol = NULL;
 14767         symbol_c *last_type_symbol = NULL;
 14768 
 14768 
 14769         {
 14769         {
 14770             identifier_c IN_param_name("IN");
 14770             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14771             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14771             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14772             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14772             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14773             symbol_c *IN_type_symbol = NULL;
 14773             symbol_c *IN_type_symbol = NULL;
 14774             
 14774             
 14775             /* Get the value from a foo(<param_value>) style call */
 14775             /* Get the value from a foo(<param_value>) style call */
 14776             if (IN_param_value == NULL)
 14776             if (IN_param_value == NULL)
 14777               IN_param_value = function_call_param_iterator.next_nf();
 14777               IN_param_value = function_call_param_iterator.next_nf();
 14785         
 14785         
 14786                 function_name = (symbol_c*)(new pragma_c("__move_"));
 14786                 function_name = (symbol_c*)(new pragma_c("__move_"));
 14787                 
 14787                 
 14788                 if (IN_type_symbol == NULL)
 14788                 if (IN_type_symbol == NULL)
 14789                   IN_type_symbol = last_type_symbol;
 14789                   IN_type_symbol = last_type_symbol;
 14790                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14790                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14791                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 14791                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
 14792                 function_type_prefix = return_type_symbol;
 14792                 function_type_prefix = return_type_symbol;
 14793                 function_type_suffix = IN_type_symbol;
 14793                 function_type_suffix = IN_type_symbol;
 14794                 break;
 14794                 break;
 14795                 
 14795                 
 14808     case function_int_to_lint :
 14808     case function_int_to_lint :
 14809     {
 14809     {
 14810         symbol_c *last_type_symbol = NULL;
 14810         symbol_c *last_type_symbol = NULL;
 14811 
 14811 
 14812         {
 14812         {
 14813             identifier_c IN_param_name("IN");
 14813             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14814             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14814             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14815             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14815             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14816             symbol_c *IN_type_symbol = NULL;
 14816             symbol_c *IN_type_symbol = NULL;
 14817             
 14817             
 14818             /* Get the value from a foo(<param_value>) style call */
 14818             /* Get the value from a foo(<param_value>) style call */
 14819             if (IN_param_value == NULL)
 14819             if (IN_param_value == NULL)
 14820               IN_param_value = function_call_param_iterator.next_nf();
 14820               IN_param_value = function_call_param_iterator.next_nf();
 14828         
 14828         
 14829                 function_name = (symbol_c*)(new pragma_c("__move_"));
 14829                 function_name = (symbol_c*)(new pragma_c("__move_"));
 14830                 
 14830                 
 14831                 if (IN_type_symbol == NULL)
 14831                 if (IN_type_symbol == NULL)
 14832                   IN_type_symbol = last_type_symbol;
 14832                   IN_type_symbol = last_type_symbol;
 14833                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14833                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14834                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 14834                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
 14835                 function_type_prefix = return_type_symbol;
 14835                 function_type_prefix = return_type_symbol;
 14836                 function_type_suffix = IN_type_symbol;
 14836                 function_type_suffix = IN_type_symbol;
 14837                 break;
 14837                 break;
 14838                 
 14838                 
 14851     case function_int_to_dint :
 14851     case function_int_to_dint :
 14852     {
 14852     {
 14853         symbol_c *last_type_symbol = NULL;
 14853         symbol_c *last_type_symbol = NULL;
 14854 
 14854 
 14855         {
 14855         {
 14856             identifier_c IN_param_name("IN");
 14856             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14857             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14857             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14858             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14858             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14859             symbol_c *IN_type_symbol = NULL;
 14859             symbol_c *IN_type_symbol = NULL;
 14860             
 14860             
 14861             /* Get the value from a foo(<param_value>) style call */
 14861             /* Get the value from a foo(<param_value>) style call */
 14862             if (IN_param_value == NULL)
 14862             if (IN_param_value == NULL)
 14863               IN_param_value = function_call_param_iterator.next_nf();
 14863               IN_param_value = function_call_param_iterator.next_nf();
 14871         
 14871         
 14872                 function_name = (symbol_c*)(new pragma_c("__move_"));
 14872                 function_name = (symbol_c*)(new pragma_c("__move_"));
 14873                 
 14873                 
 14874                 if (IN_type_symbol == NULL)
 14874                 if (IN_type_symbol == NULL)
 14875                   IN_type_symbol = last_type_symbol;
 14875                   IN_type_symbol = last_type_symbol;
 14876                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14876                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14877                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 14877                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
 14878                 function_type_prefix = return_type_symbol;
 14878                 function_type_prefix = return_type_symbol;
 14879                 function_type_suffix = IN_type_symbol;
 14879                 function_type_suffix = IN_type_symbol;
 14880                 break;
 14880                 break;
 14881                 
 14881                 
 14894     case function_int_to_date :
 14894     case function_int_to_date :
 14895     {
 14895     {
 14896         symbol_c *last_type_symbol = NULL;
 14896         symbol_c *last_type_symbol = NULL;
 14897 
 14897 
 14898         {
 14898         {
 14899             identifier_c IN_param_name("IN");
 14899             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14900             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14900             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14901             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14901             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14902             symbol_c *IN_type_symbol = NULL;
 14902             symbol_c *IN_type_symbol = NULL;
 14903             
 14903             
 14904             /* Get the value from a foo(<param_value>) style call */
 14904             /* Get the value from a foo(<param_value>) style call */
 14905             if (IN_param_value == NULL)
 14905             if (IN_param_value == NULL)
 14906               IN_param_value = function_call_param_iterator.next_nf();
 14906               IN_param_value = function_call_param_iterator.next_nf();
 14914         
 14914         
 14915                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 14915                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 14916                 
 14916                 
 14917                 if (IN_type_symbol == NULL)
 14917                 if (IN_type_symbol == NULL)
 14918                   IN_type_symbol = last_type_symbol;
 14918                   IN_type_symbol = last_type_symbol;
 14919                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14919                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14920                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 14920                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 14921                 function_type_prefix = return_type_symbol;
 14921                 function_type_prefix = return_type_symbol;
 14922                 break;
 14922                 break;
 14923                 
 14923                 
 14924             }
 14924             }
 14936     case function_int_to_dword :
 14936     case function_int_to_dword :
 14937     {
 14937     {
 14938         symbol_c *last_type_symbol = NULL;
 14938         symbol_c *last_type_symbol = NULL;
 14939 
 14939 
 14940         {
 14940         {
 14941             identifier_c IN_param_name("IN");
 14941             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14942             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14942             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14943             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14943             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14944             symbol_c *IN_type_symbol = NULL;
 14944             symbol_c *IN_type_symbol = NULL;
 14945             
 14945             
 14946             /* Get the value from a foo(<param_value>) style call */
 14946             /* Get the value from a foo(<param_value>) style call */
 14947             if (IN_param_value == NULL)
 14947             if (IN_param_value == NULL)
 14948               IN_param_value = function_call_param_iterator.next_nf();
 14948               IN_param_value = function_call_param_iterator.next_nf();
 14956         
 14956         
 14957                 function_name = (symbol_c*)(new pragma_c("__move_"));
 14957                 function_name = (symbol_c*)(new pragma_c("__move_"));
 14958                 
 14958                 
 14959                 if (IN_type_symbol == NULL)
 14959                 if (IN_type_symbol == NULL)
 14960                   IN_type_symbol = last_type_symbol;
 14960                   IN_type_symbol = last_type_symbol;
 14961                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14961                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 14962                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 14962                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
 14963                 function_type_prefix = return_type_symbol;
 14963                 function_type_prefix = return_type_symbol;
 14964                 function_type_suffix = IN_type_symbol;
 14964                 function_type_suffix = IN_type_symbol;
 14965                 break;
 14965                 break;
 14966                 
 14966                 
 14979     case function_int_to_dt :
 14979     case function_int_to_dt :
 14980     {
 14980     {
 14981         symbol_c *last_type_symbol = NULL;
 14981         symbol_c *last_type_symbol = NULL;
 14982 
 14982 
 14983         {
 14983         {
 14984             identifier_c IN_param_name("IN");
 14984             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 14985             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14985             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14986             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 14986             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 14987             symbol_c *IN_type_symbol = NULL;
 14987             symbol_c *IN_type_symbol = NULL;
 14988             
 14988             
 14989             /* Get the value from a foo(<param_value>) style call */
 14989             /* Get the value from a foo(<param_value>) style call */
 14990             if (IN_param_value == NULL)
 14990             if (IN_param_value == NULL)
 14991               IN_param_value = function_call_param_iterator.next_nf();
 14991               IN_param_value = function_call_param_iterator.next_nf();
 14999         
 14999         
 15000                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 15000                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 15001                 
 15001                 
 15002                 if (IN_type_symbol == NULL)
 15002                 if (IN_type_symbol == NULL)
 15003                   IN_type_symbol = last_type_symbol;
 15003                   IN_type_symbol = last_type_symbol;
 15004                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15004                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15005                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 15005                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 15006                 function_type_prefix = return_type_symbol;
 15006                 function_type_prefix = return_type_symbol;
 15007                 break;
 15007                 break;
 15008                 
 15008                 
 15009             }
 15009             }
 15021     case function_int_to_tod :
 15021     case function_int_to_tod :
 15022     {
 15022     {
 15023         symbol_c *last_type_symbol = NULL;
 15023         symbol_c *last_type_symbol = NULL;
 15024 
 15024 
 15025         {
 15025         {
 15026             identifier_c IN_param_name("IN");
 15026             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15027             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15027             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15028             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15028             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15029             symbol_c *IN_type_symbol = NULL;
 15029             symbol_c *IN_type_symbol = NULL;
 15030             
 15030             
 15031             /* Get the value from a foo(<param_value>) style call */
 15031             /* Get the value from a foo(<param_value>) style call */
 15032             if (IN_param_value == NULL)
 15032             if (IN_param_value == NULL)
 15033               IN_param_value = function_call_param_iterator.next_nf();
 15033               IN_param_value = function_call_param_iterator.next_nf();
 15041         
 15041         
 15042                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 15042                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 15043                 
 15043                 
 15044                 if (IN_type_symbol == NULL)
 15044                 if (IN_type_symbol == NULL)
 15045                   IN_type_symbol = last_type_symbol;
 15045                   IN_type_symbol = last_type_symbol;
 15046                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15046                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15047                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 15047                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 15048                 function_type_prefix = return_type_symbol;
 15048                 function_type_prefix = return_type_symbol;
 15049                 break;
 15049                 break;
 15050                 
 15050                 
 15051             }
 15051             }
 15063     case function_int_to_udint :
 15063     case function_int_to_udint :
 15064     {
 15064     {
 15065         symbol_c *last_type_symbol = NULL;
 15065         symbol_c *last_type_symbol = NULL;
 15066 
 15066 
 15067         {
 15067         {
 15068             identifier_c IN_param_name("IN");
 15068             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15069             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15069             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15070             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15070             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15071             symbol_c *IN_type_symbol = NULL;
 15071             symbol_c *IN_type_symbol = NULL;
 15072             
 15072             
 15073             /* Get the value from a foo(<param_value>) style call */
 15073             /* Get the value from a foo(<param_value>) style call */
 15074             if (IN_param_value == NULL)
 15074             if (IN_param_value == NULL)
 15075               IN_param_value = function_call_param_iterator.next_nf();
 15075               IN_param_value = function_call_param_iterator.next_nf();
 15083         
 15083         
 15084                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15084                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15085                 
 15085                 
 15086                 if (IN_type_symbol == NULL)
 15086                 if (IN_type_symbol == NULL)
 15087                   IN_type_symbol = last_type_symbol;
 15087                   IN_type_symbol = last_type_symbol;
 15088                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15088                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15089                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 15089                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 15090                 function_type_prefix = return_type_symbol;
 15090                 function_type_prefix = return_type_symbol;
 15091                 function_type_suffix = IN_type_symbol;
 15091                 function_type_suffix = IN_type_symbol;
 15092                 break;
 15092                 break;
 15093                 
 15093                 
 15106     case function_int_to_word :
 15106     case function_int_to_word :
 15107     {
 15107     {
 15108         symbol_c *last_type_symbol = NULL;
 15108         symbol_c *last_type_symbol = NULL;
 15109 
 15109 
 15110         {
 15110         {
 15111             identifier_c IN_param_name("IN");
 15111             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15112             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15112             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15113             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15113             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15114             symbol_c *IN_type_symbol = NULL;
 15114             symbol_c *IN_type_symbol = NULL;
 15115             
 15115             
 15116             /* Get the value from a foo(<param_value>) style call */
 15116             /* Get the value from a foo(<param_value>) style call */
 15117             if (IN_param_value == NULL)
 15117             if (IN_param_value == NULL)
 15118               IN_param_value = function_call_param_iterator.next_nf();
 15118               IN_param_value = function_call_param_iterator.next_nf();
 15126         
 15126         
 15127                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15127                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15128                 
 15128                 
 15129                 if (IN_type_symbol == NULL)
 15129                 if (IN_type_symbol == NULL)
 15130                   IN_type_symbol = last_type_symbol;
 15130                   IN_type_symbol = last_type_symbol;
 15131                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15131                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15132                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 15132                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
 15133                 function_type_prefix = return_type_symbol;
 15133                 function_type_prefix = return_type_symbol;
 15134                 function_type_suffix = IN_type_symbol;
 15134                 function_type_suffix = IN_type_symbol;
 15135                 break;
 15135                 break;
 15136                 
 15136                 
 15149     case function_int_to_string :
 15149     case function_int_to_string :
 15150     {
 15150     {
 15151         symbol_c *last_type_symbol = NULL;
 15151         symbol_c *last_type_symbol = NULL;
 15152 
 15152 
 15153         {
 15153         {
 15154             identifier_c IN_param_name("IN");
 15154             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15155             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15155             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15156             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15156             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15157             symbol_c *IN_type_symbol = NULL;
 15157             symbol_c *IN_type_symbol = NULL;
 15158             
 15158             
 15159             /* Get the value from a foo(<param_value>) style call */
 15159             /* Get the value from a foo(<param_value>) style call */
 15160             if (IN_param_value == NULL)
 15160             if (IN_param_value == NULL)
 15161               IN_param_value = function_call_param_iterator.next_nf();
 15161               IN_param_value = function_call_param_iterator.next_nf();
 15169         
 15169         
 15170                 function_name = (symbol_c*)(new pragma_c("__sint_to_string"));
 15170                 function_name = (symbol_c*)(new pragma_c("__sint_to_string"));
 15171                 
 15171                 
 15172                 if (IN_type_symbol == NULL)
 15172                 if (IN_type_symbol == NULL)
 15173                   IN_type_symbol = last_type_symbol;
 15173                   IN_type_symbol = last_type_symbol;
 15174                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15174                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15175                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 15175                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 15176                 function_type_prefix = return_type_symbol;
 15176                 function_type_prefix = return_type_symbol;
 15177                 break;
 15177                 break;
 15178                 
 15178                 
 15179             }
 15179             }
 15191     case function_int_to_lword :
 15191     case function_int_to_lword :
 15192     {
 15192     {
 15193         symbol_c *last_type_symbol = NULL;
 15193         symbol_c *last_type_symbol = NULL;
 15194 
 15194 
 15195         {
 15195         {
 15196             identifier_c IN_param_name("IN");
 15196             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15197             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15197             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15198             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15198             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15199             symbol_c *IN_type_symbol = NULL;
 15199             symbol_c *IN_type_symbol = NULL;
 15200             
 15200             
 15201             /* Get the value from a foo(<param_value>) style call */
 15201             /* Get the value from a foo(<param_value>) style call */
 15202             if (IN_param_value == NULL)
 15202             if (IN_param_value == NULL)
 15203               IN_param_value = function_call_param_iterator.next_nf();
 15203               IN_param_value = function_call_param_iterator.next_nf();
 15211         
 15211         
 15212                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15212                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15213                 
 15213                 
 15214                 if (IN_type_symbol == NULL)
 15214                 if (IN_type_symbol == NULL)
 15215                   IN_type_symbol = last_type_symbol;
 15215                   IN_type_symbol = last_type_symbol;
 15216                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15216                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15217                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 15217                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
 15218                 function_type_prefix = return_type_symbol;
 15218                 function_type_prefix = return_type_symbol;
 15219                 function_type_suffix = IN_type_symbol;
 15219                 function_type_suffix = IN_type_symbol;
 15220                 break;
 15220                 break;
 15221                 
 15221                 
 15234     case function_int_to_uint :
 15234     case function_int_to_uint :
 15235     {
 15235     {
 15236         symbol_c *last_type_symbol = NULL;
 15236         symbol_c *last_type_symbol = NULL;
 15237 
 15237 
 15238         {
 15238         {
 15239             identifier_c IN_param_name("IN");
 15239             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15240             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15240             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15241             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15241             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15242             symbol_c *IN_type_symbol = NULL;
 15242             symbol_c *IN_type_symbol = NULL;
 15243             
 15243             
 15244             /* Get the value from a foo(<param_value>) style call */
 15244             /* Get the value from a foo(<param_value>) style call */
 15245             if (IN_param_value == NULL)
 15245             if (IN_param_value == NULL)
 15246               IN_param_value = function_call_param_iterator.next_nf();
 15246               IN_param_value = function_call_param_iterator.next_nf();
 15254         
 15254         
 15255                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15255                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15256                 
 15256                 
 15257                 if (IN_type_symbol == NULL)
 15257                 if (IN_type_symbol == NULL)
 15258                   IN_type_symbol = last_type_symbol;
 15258                   IN_type_symbol = last_type_symbol;
 15259                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15259                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15260                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 15260                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 15261                 function_type_prefix = return_type_symbol;
 15261                 function_type_prefix = return_type_symbol;
 15262                 function_type_suffix = IN_type_symbol;
 15262                 function_type_suffix = IN_type_symbol;
 15263                 break;
 15263                 break;
 15264                 
 15264                 
 15277     case function_int_to_lreal :
 15277     case function_int_to_lreal :
 15278     {
 15278     {
 15279         symbol_c *last_type_symbol = NULL;
 15279         symbol_c *last_type_symbol = NULL;
 15280 
 15280 
 15281         {
 15281         {
 15282             identifier_c IN_param_name("IN");
 15282             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15283             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15283             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15284             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15284             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15285             symbol_c *IN_type_symbol = NULL;
 15285             symbol_c *IN_type_symbol = NULL;
 15286             
 15286             
 15287             /* Get the value from a foo(<param_value>) style call */
 15287             /* Get the value from a foo(<param_value>) style call */
 15288             if (IN_param_value == NULL)
 15288             if (IN_param_value == NULL)
 15289               IN_param_value = function_call_param_iterator.next_nf();
 15289               IN_param_value = function_call_param_iterator.next_nf();
 15297         
 15297         
 15298                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15298                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15299                 
 15299                 
 15300                 if (IN_type_symbol == NULL)
 15300                 if (IN_type_symbol == NULL)
 15301                   IN_type_symbol = last_type_symbol;
 15301                   IN_type_symbol = last_type_symbol;
 15302                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15302                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15303                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 15303                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
 15304                 function_type_prefix = return_type_symbol;
 15304                 function_type_prefix = return_type_symbol;
 15305                 function_type_suffix = IN_type_symbol;
 15305                 function_type_suffix = IN_type_symbol;
 15306                 break;
 15306                 break;
 15307                 
 15307                 
 15320     case function_int_to_byte :
 15320     case function_int_to_byte :
 15321     {
 15321     {
 15322         symbol_c *last_type_symbol = NULL;
 15322         symbol_c *last_type_symbol = NULL;
 15323 
 15323 
 15324         {
 15324         {
 15325             identifier_c IN_param_name("IN");
 15325             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15326             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15326             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15327             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15327             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15328             symbol_c *IN_type_symbol = NULL;
 15328             symbol_c *IN_type_symbol = NULL;
 15329             
 15329             
 15330             /* Get the value from a foo(<param_value>) style call */
 15330             /* Get the value from a foo(<param_value>) style call */
 15331             if (IN_param_value == NULL)
 15331             if (IN_param_value == NULL)
 15332               IN_param_value = function_call_param_iterator.next_nf();
 15332               IN_param_value = function_call_param_iterator.next_nf();
 15340         
 15340         
 15341                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15341                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15342                 
 15342                 
 15343                 if (IN_type_symbol == NULL)
 15343                 if (IN_type_symbol == NULL)
 15344                   IN_type_symbol = last_type_symbol;
 15344                   IN_type_symbol = last_type_symbol;
 15345                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15345                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15346                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 15346                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
 15347                 function_type_prefix = return_type_symbol;
 15347                 function_type_prefix = return_type_symbol;
 15348                 function_type_suffix = IN_type_symbol;
 15348                 function_type_suffix = IN_type_symbol;
 15349                 break;
 15349                 break;
 15350                 
 15350                 
 15363     case function_int_to_usint :
 15363     case function_int_to_usint :
 15364     {
 15364     {
 15365         symbol_c *last_type_symbol = NULL;
 15365         symbol_c *last_type_symbol = NULL;
 15366 
 15366 
 15367         {
 15367         {
 15368             identifier_c IN_param_name("IN");
 15368             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15369             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15369             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15370             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15370             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15371             symbol_c *IN_type_symbol = NULL;
 15371             symbol_c *IN_type_symbol = NULL;
 15372             
 15372             
 15373             /* Get the value from a foo(<param_value>) style call */
 15373             /* Get the value from a foo(<param_value>) style call */
 15374             if (IN_param_value == NULL)
 15374             if (IN_param_value == NULL)
 15375               IN_param_value = function_call_param_iterator.next_nf();
 15375               IN_param_value = function_call_param_iterator.next_nf();
 15383         
 15383         
 15384                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15384                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15385                 
 15385                 
 15386                 if (IN_type_symbol == NULL)
 15386                 if (IN_type_symbol == NULL)
 15387                   IN_type_symbol = last_type_symbol;
 15387                   IN_type_symbol = last_type_symbol;
 15388                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15388                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15389                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 15389                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 15390                 function_type_prefix = return_type_symbol;
 15390                 function_type_prefix = return_type_symbol;
 15391                 function_type_suffix = IN_type_symbol;
 15391                 function_type_suffix = IN_type_symbol;
 15392                 break;
 15392                 break;
 15393                 
 15393                 
 15406     case function_int_to_ulint :
 15406     case function_int_to_ulint :
 15407     {
 15407     {
 15408         symbol_c *last_type_symbol = NULL;
 15408         symbol_c *last_type_symbol = NULL;
 15409 
 15409 
 15410         {
 15410         {
 15411             identifier_c IN_param_name("IN");
 15411             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15412             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15412             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15413             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15413             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15414             symbol_c *IN_type_symbol = NULL;
 15414             symbol_c *IN_type_symbol = NULL;
 15415             
 15415             
 15416             /* Get the value from a foo(<param_value>) style call */
 15416             /* Get the value from a foo(<param_value>) style call */
 15417             if (IN_param_value == NULL)
 15417             if (IN_param_value == NULL)
 15418               IN_param_value = function_call_param_iterator.next_nf();
 15418               IN_param_value = function_call_param_iterator.next_nf();
 15426         
 15426         
 15427                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15427                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15428                 
 15428                 
 15429                 if (IN_type_symbol == NULL)
 15429                 if (IN_type_symbol == NULL)
 15430                   IN_type_symbol = last_type_symbol;
 15430                   IN_type_symbol = last_type_symbol;
 15431                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15431                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15432                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 15432                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 15433                 function_type_prefix = return_type_symbol;
 15433                 function_type_prefix = return_type_symbol;
 15434                 function_type_suffix = IN_type_symbol;
 15434                 function_type_suffix = IN_type_symbol;
 15435                 break;
 15435                 break;
 15436                 
 15436                 
 15449     case function_int_to_bool :
 15449     case function_int_to_bool :
 15450     {
 15450     {
 15451         symbol_c *last_type_symbol = NULL;
 15451         symbol_c *last_type_symbol = NULL;
 15452 
 15452 
 15453         {
 15453         {
 15454             identifier_c IN_param_name("IN");
 15454             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15455             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15455             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15456             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15456             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15457             symbol_c *IN_type_symbol = NULL;
 15457             symbol_c *IN_type_symbol = NULL;
 15458             
 15458             
 15459             /* Get the value from a foo(<param_value>) style call */
 15459             /* Get the value from a foo(<param_value>) style call */
 15460             if (IN_param_value == NULL)
 15460             if (IN_param_value == NULL)
 15461               IN_param_value = function_call_param_iterator.next_nf();
 15461               IN_param_value = function_call_param_iterator.next_nf();
 15469         
 15469         
 15470                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15470                 function_name = (symbol_c*)(new pragma_c("__move_"));
 15471                 
 15471                 
 15472                 if (IN_type_symbol == NULL)
 15472                 if (IN_type_symbol == NULL)
 15473                   IN_type_symbol = last_type_symbol;
 15473                   IN_type_symbol = last_type_symbol;
 15474                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15474                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15475                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 15475                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 15476                 function_type_prefix = return_type_symbol;
 15476                 function_type_prefix = return_type_symbol;
 15477                 function_type_suffix = IN_type_symbol;
 15477                 function_type_suffix = IN_type_symbol;
 15478                 break;
 15478                 break;
 15479                 
 15479                 
 15492     case function_int_to_time :
 15492     case function_int_to_time :
 15493     {
 15493     {
 15494         symbol_c *last_type_symbol = NULL;
 15494         symbol_c *last_type_symbol = NULL;
 15495 
 15495 
 15496         {
 15496         {
 15497             identifier_c IN_param_name("IN");
 15497             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15498             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15498             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15499             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15499             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15500             symbol_c *IN_type_symbol = NULL;
 15500             symbol_c *IN_type_symbol = NULL;
 15501             
 15501             
 15502             /* Get the value from a foo(<param_value>) style call */
 15502             /* Get the value from a foo(<param_value>) style call */
 15503             if (IN_param_value == NULL)
 15503             if (IN_param_value == NULL)
 15504               IN_param_value = function_call_param_iterator.next_nf();
 15504               IN_param_value = function_call_param_iterator.next_nf();
 15512         
 15512         
 15513                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 15513                 function_name = (symbol_c*)(new pragma_c("__int_to_time"));
 15514                 
 15514                 
 15515                 if (IN_type_symbol == NULL)
 15515                 if (IN_type_symbol == NULL)
 15516                   IN_type_symbol = last_type_symbol;
 15516                   IN_type_symbol = last_type_symbol;
 15517                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15517                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15518                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 15518                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 15519                 function_type_prefix = return_type_symbol;
 15519                 function_type_prefix = return_type_symbol;
 15520                 break;
 15520                 break;
 15521                 
 15521                 
 15522             }
 15522             }
 15534     case function_trunc :
 15534     case function_trunc :
 15535     {
 15535     {
 15536         symbol_c *last_type_symbol = NULL;
 15536         symbol_c *last_type_symbol = NULL;
 15537 
 15537 
 15538         {
 15538         {
 15539             identifier_c IN_param_name("IN");
 15539             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15540             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15540             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15541             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15541             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15542             symbol_c *IN_type_symbol = NULL;
 15542             symbol_c *IN_type_symbol = NULL;
 15543             
 15543             
 15544             /* Get the value from a foo(<param_value>) style call */
 15544             /* Get the value from a foo(<param_value>) style call */
 15545             if (IN_param_value == NULL)
 15545             if (IN_param_value == NULL)
 15546               IN_param_value = function_call_param_iterator.next_nf();
 15546               IN_param_value = function_call_param_iterator.next_nf();
 15553             {
 15553             {
 15554         
 15554         
 15555                 
 15555                 
 15556                 if (IN_type_symbol == NULL)
 15556                 if (IN_type_symbol == NULL)
 15557                   IN_type_symbol = last_type_symbol;
 15557                   IN_type_symbol = last_type_symbol;
 15558                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15558                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15559                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15559                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15560                 function_type_prefix = (symbol_c*)(new pragma_c("int"));
 15560                 function_type_prefix = (symbol_c*)(new pragma_c("int"));
 15561                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 15561                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 15562                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 15562                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 15563                 break;
 15563                 break;
 15577     case function_bcd_to_udint :
 15577     case function_bcd_to_udint :
 15578     {
 15578     {
 15579         symbol_c *last_type_symbol = NULL;
 15579         symbol_c *last_type_symbol = NULL;
 15580 
 15580 
 15581         {
 15581         {
 15582             identifier_c IN_param_name("IN");
 15582             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15583             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15583             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15584             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15584             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15585             symbol_c *IN_type_symbol = NULL;
 15585             symbol_c *IN_type_symbol = NULL;
 15586             
 15586             
 15587             /* Get the value from a foo(<param_value>) style call */
 15587             /* Get the value from a foo(<param_value>) style call */
 15588             if (IN_param_value == NULL)
 15588             if (IN_param_value == NULL)
 15589               IN_param_value = function_call_param_iterator.next_nf();
 15589               IN_param_value = function_call_param_iterator.next_nf();
 15597         
 15597         
 15598                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15598                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15599                 
 15599                 
 15600                 if (IN_type_symbol == NULL)
 15600                 if (IN_type_symbol == NULL)
 15601                   IN_type_symbol = last_type_symbol;
 15601                   IN_type_symbol = last_type_symbol;
 15602                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15602                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15603                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 15603                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 15604                 function_type_prefix = return_type_symbol;
 15604                 function_type_prefix = return_type_symbol;
 15605                 break;
 15605                 break;
 15606                 
 15606                 
 15607             }
 15607             }
 15619     case function_bcd_to_uint :
 15619     case function_bcd_to_uint :
 15620     {
 15620     {
 15621         symbol_c *last_type_symbol = NULL;
 15621         symbol_c *last_type_symbol = NULL;
 15622 
 15622 
 15623         {
 15623         {
 15624             identifier_c IN_param_name("IN");
 15624             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15625             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15625             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15626             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15626             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15627             symbol_c *IN_type_symbol = NULL;
 15627             symbol_c *IN_type_symbol = NULL;
 15628             
 15628             
 15629             /* Get the value from a foo(<param_value>) style call */
 15629             /* Get the value from a foo(<param_value>) style call */
 15630             if (IN_param_value == NULL)
 15630             if (IN_param_value == NULL)
 15631               IN_param_value = function_call_param_iterator.next_nf();
 15631               IN_param_value = function_call_param_iterator.next_nf();
 15639         
 15639         
 15640                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15640                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15641                 
 15641                 
 15642                 if (IN_type_symbol == NULL)
 15642                 if (IN_type_symbol == NULL)
 15643                   IN_type_symbol = last_type_symbol;
 15643                   IN_type_symbol = last_type_symbol;
 15644                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15644                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15645                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 15645                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 15646                 function_type_prefix = return_type_symbol;
 15646                 function_type_prefix = return_type_symbol;
 15647                 break;
 15647                 break;
 15648                 
 15648                 
 15649             }
 15649             }
 15661     case function_bcd_to_ulint :
 15661     case function_bcd_to_ulint :
 15662     {
 15662     {
 15663         symbol_c *last_type_symbol = NULL;
 15663         symbol_c *last_type_symbol = NULL;
 15664 
 15664 
 15665         {
 15665         {
 15666             identifier_c IN_param_name("IN");
 15666             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15667             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15667             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15668             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15668             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15669             symbol_c *IN_type_symbol = NULL;
 15669             symbol_c *IN_type_symbol = NULL;
 15670             
 15670             
 15671             /* Get the value from a foo(<param_value>) style call */
 15671             /* Get the value from a foo(<param_value>) style call */
 15672             if (IN_param_value == NULL)
 15672             if (IN_param_value == NULL)
 15673               IN_param_value = function_call_param_iterator.next_nf();
 15673               IN_param_value = function_call_param_iterator.next_nf();
 15681         
 15681         
 15682                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15682                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15683                 
 15683                 
 15684                 if (IN_type_symbol == NULL)
 15684                 if (IN_type_symbol == NULL)
 15685                   IN_type_symbol = last_type_symbol;
 15685                   IN_type_symbol = last_type_symbol;
 15686                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15686                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15687                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 15687                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 15688                 function_type_prefix = return_type_symbol;
 15688                 function_type_prefix = return_type_symbol;
 15689                 break;
 15689                 break;
 15690                 
 15690                 
 15691             }
 15691             }
 15703     case function_bcd_to_usint :
 15703     case function_bcd_to_usint :
 15704     {
 15704     {
 15705         symbol_c *last_type_symbol = NULL;
 15705         symbol_c *last_type_symbol = NULL;
 15706 
 15706 
 15707         {
 15707         {
 15708             identifier_c IN_param_name("IN");
 15708             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15709             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15709             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15710             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15710             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15711             symbol_c *IN_type_symbol = NULL;
 15711             symbol_c *IN_type_symbol = NULL;
 15712             
 15712             
 15713             /* Get the value from a foo(<param_value>) style call */
 15713             /* Get the value from a foo(<param_value>) style call */
 15714             if (IN_param_value == NULL)
 15714             if (IN_param_value == NULL)
 15715               IN_param_value = function_call_param_iterator.next_nf();
 15715               IN_param_value = function_call_param_iterator.next_nf();
 15723         
 15723         
 15724                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15724                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15725                 
 15725                 
 15726                 if (IN_type_symbol == NULL)
 15726                 if (IN_type_symbol == NULL)
 15727                   IN_type_symbol = last_type_symbol;
 15727                   IN_type_symbol = last_type_symbol;
 15728                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15728                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15729                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 15729                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 15730                 function_type_prefix = return_type_symbol;
 15730                 function_type_prefix = return_type_symbol;
 15731                 break;
 15731                 break;
 15732                 
 15732                 
 15733             }
 15733             }
 15745     case function_udint_to_bcd :
 15745     case function_udint_to_bcd :
 15746     {
 15746     {
 15747         symbol_c *last_type_symbol = NULL;
 15747         symbol_c *last_type_symbol = NULL;
 15748 
 15748 
 15749         {
 15749         {
 15750             identifier_c IN_param_name("IN");
 15750             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15751             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15751             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15752             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15752             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15753             symbol_c *IN_type_symbol = NULL;
 15753             symbol_c *IN_type_symbol = NULL;
 15754             
 15754             
 15755             /* Get the value from a foo(<param_value>) style call */
 15755             /* Get the value from a foo(<param_value>) style call */
 15756             if (IN_param_value == NULL)
 15756             if (IN_param_value == NULL)
 15757               IN_param_value = function_call_param_iterator.next_nf();
 15757               IN_param_value = function_call_param_iterator.next_nf();
 15765         
 15765         
 15766                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15766                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15767                 
 15767                 
 15768                 if (IN_type_symbol == NULL)
 15768                 if (IN_type_symbol == NULL)
 15769                   IN_type_symbol = last_type_symbol;
 15769                   IN_type_symbol = last_type_symbol;
 15770                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15770                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15771                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15771                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15772                 function_type_prefix = return_type_symbol;
 15772                 function_type_prefix = return_type_symbol;
 15773                 break;
 15773                 break;
 15774                 
 15774                 
 15775             }
 15775             }
 15787     case function_uint_to_bcd :
 15787     case function_uint_to_bcd :
 15788     {
 15788     {
 15789         symbol_c *last_type_symbol = NULL;
 15789         symbol_c *last_type_symbol = NULL;
 15790 
 15790 
 15791         {
 15791         {
 15792             identifier_c IN_param_name("IN");
 15792             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15793             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15793             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15794             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15794             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15795             symbol_c *IN_type_symbol = NULL;
 15795             symbol_c *IN_type_symbol = NULL;
 15796             
 15796             
 15797             /* Get the value from a foo(<param_value>) style call */
 15797             /* Get the value from a foo(<param_value>) style call */
 15798             if (IN_param_value == NULL)
 15798             if (IN_param_value == NULL)
 15799               IN_param_value = function_call_param_iterator.next_nf();
 15799               IN_param_value = function_call_param_iterator.next_nf();
 15807         
 15807         
 15808                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15808                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15809                 
 15809                 
 15810                 if (IN_type_symbol == NULL)
 15810                 if (IN_type_symbol == NULL)
 15811                   IN_type_symbol = last_type_symbol;
 15811                   IN_type_symbol = last_type_symbol;
 15812                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15812                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15813                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15813                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15814                 function_type_prefix = return_type_symbol;
 15814                 function_type_prefix = return_type_symbol;
 15815                 break;
 15815                 break;
 15816                 
 15816                 
 15817             }
 15817             }
 15829     case function_usint_to_bcd :
 15829     case function_usint_to_bcd :
 15830     {
 15830     {
 15831         symbol_c *last_type_symbol = NULL;
 15831         symbol_c *last_type_symbol = NULL;
 15832 
 15832 
 15833         {
 15833         {
 15834             identifier_c IN_param_name("IN");
 15834             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15835             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15835             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15836             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15836             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15837             symbol_c *IN_type_symbol = NULL;
 15837             symbol_c *IN_type_symbol = NULL;
 15838             
 15838             
 15839             /* Get the value from a foo(<param_value>) style call */
 15839             /* Get the value from a foo(<param_value>) style call */
 15840             if (IN_param_value == NULL)
 15840             if (IN_param_value == NULL)
 15841               IN_param_value = function_call_param_iterator.next_nf();
 15841               IN_param_value = function_call_param_iterator.next_nf();
 15849         
 15849         
 15850                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15850                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15851                 
 15851                 
 15852                 if (IN_type_symbol == NULL)
 15852                 if (IN_type_symbol == NULL)
 15853                   IN_type_symbol = last_type_symbol;
 15853                   IN_type_symbol = last_type_symbol;
 15854                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15854                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15855                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15855                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15856                 function_type_prefix = return_type_symbol;
 15856                 function_type_prefix = return_type_symbol;
 15857                 break;
 15857                 break;
 15858                 
 15858                 
 15859             }
 15859             }
 15871     case function_ulint_to_bcd :
 15871     case function_ulint_to_bcd :
 15872     {
 15872     {
 15873         symbol_c *last_type_symbol = NULL;
 15873         symbol_c *last_type_symbol = NULL;
 15874 
 15874 
 15875         {
 15875         {
 15876             identifier_c IN_param_name("IN");
 15876             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15877             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15877             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15878             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15878             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15879             symbol_c *IN_type_symbol = NULL;
 15879             symbol_c *IN_type_symbol = NULL;
 15880             
 15880             
 15881             /* Get the value from a foo(<param_value>) style call */
 15881             /* Get the value from a foo(<param_value>) style call */
 15882             if (IN_param_value == NULL)
 15882             if (IN_param_value == NULL)
 15883               IN_param_value = function_call_param_iterator.next_nf();
 15883               IN_param_value = function_call_param_iterator.next_nf();
 15891         
 15891         
 15892                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15892                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15893                 
 15893                 
 15894                 if (IN_type_symbol == NULL)
 15894                 if (IN_type_symbol == NULL)
 15895                   IN_type_symbol = last_type_symbol;
 15895                   IN_type_symbol = last_type_symbol;
 15896                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15896                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15897                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15897                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15898                 function_type_prefix = return_type_symbol;
 15898                 function_type_prefix = return_type_symbol;
 15899                 break;
 15899                 break;
 15900                 
 15900                 
 15901             }
 15901             }
 15913     case function_date_and_time_to_time_of_day :
 15913     case function_date_and_time_to_time_of_day :
 15914     {
 15914     {
 15915         symbol_c *last_type_symbol = NULL;
 15915         symbol_c *last_type_symbol = NULL;
 15916 
 15916 
 15917         {
 15917         {
 15918             identifier_c IN_param_name("IN");
 15918             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15919             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15919             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15920             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15920             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15921             symbol_c *IN_type_symbol = NULL;
 15921             symbol_c *IN_type_symbol = NULL;
 15922             
 15922             
 15923             /* Get the value from a foo(<param_value>) style call */
 15923             /* Get the value from a foo(<param_value>) style call */
 15924             if (IN_param_value == NULL)
 15924             if (IN_param_value == NULL)
 15925               IN_param_value = function_call_param_iterator.next_nf();
 15925               IN_param_value = function_call_param_iterator.next_nf();
 15933         
 15933         
 15934                 function_name = (symbol_c*)(new pragma_c("__date_and_time_to_time_of_day"));
 15934                 function_name = (symbol_c*)(new pragma_c("__date_and_time_to_time_of_day"));
 15935                 
 15935                 
 15936                 if (IN_type_symbol == NULL)
 15936                 if (IN_type_symbol == NULL)
 15937                   IN_type_symbol = last_type_symbol;
 15937                   IN_type_symbol = last_type_symbol;
 15938                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15938                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15939                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 15939                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 15940                 break;
 15940                 break;
 15941                 
 15941                 
 15942             }
 15942             }
 15943             
 15943             
 15954     case function_date_and_time_to_date :
 15954     case function_date_and_time_to_date :
 15955     {
 15955     {
 15956         symbol_c *last_type_symbol = NULL;
 15956         symbol_c *last_type_symbol = NULL;
 15957 
 15957 
 15958         {
 15958         {
 15959             identifier_c IN_param_name("IN");
 15959             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 15960             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15960             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15961             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15961             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 15962             symbol_c *IN_type_symbol = NULL;
 15962             symbol_c *IN_type_symbol = NULL;
 15963             
 15963             
 15964             /* Get the value from a foo(<param_value>) style call */
 15964             /* Get the value from a foo(<param_value>) style call */
 15965             if (IN_param_value == NULL)
 15965             if (IN_param_value == NULL)
 15966               IN_param_value = function_call_param_iterator.next_nf();
 15966               IN_param_value = function_call_param_iterator.next_nf();
 15974         
 15974         
 15975                 function_name = (symbol_c*)(new pragma_c("__date_and_time_to_date"));
 15975                 function_name = (symbol_c*)(new pragma_c("__date_and_time_to_date"));
 15976                 
 15976                 
 15977                 if (IN_type_symbol == NULL)
 15977                 if (IN_type_symbol == NULL)
 15978                   IN_type_symbol = last_type_symbol;
 15978                   IN_type_symbol = last_type_symbol;
 15979                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15979                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15980                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 15980                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 15981                 break;
 15981                 break;
 15982                 
 15982                 
 15983             }
 15983             }
 15984             
 15984             
 15995     case function_abs :
 15995     case function_abs :
 15996     {
 15996     {
 15997         symbol_c *last_type_symbol = NULL;
 15997         symbol_c *last_type_symbol = NULL;
 15998 
 15998 
 15999         {
 15999         {
 16000             identifier_c IN_param_name("IN");
 16000             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 16001             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16001             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16002             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16002             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 16003             symbol_c *IN_type_symbol = NULL;
 16003             symbol_c *IN_type_symbol = NULL;
 16004             
 16004             
 16005             /* Get the value from a foo(<param_value>) style call */
 16005             /* Get the value from a foo(<param_value>) style call */
 16006             if (IN_param_value == NULL)
 16006             if (IN_param_value == NULL)
 16007               IN_param_value = function_call_param_iterator.next_nf();
 16007               IN_param_value = function_call_param_iterator.next_nf();
 16015         
 16015         
 16016                 function_name = (symbol_c*)(new pragma_c("__abs_"));
 16016                 function_name = (symbol_c*)(new pragma_c("__abs_"));
 16017                 
 16017                 
 16018                 if (IN_type_symbol == NULL)
 16018                 if (IN_type_symbol == NULL)
 16019                   IN_type_symbol = last_type_symbol;
 16019                   IN_type_symbol = last_type_symbol;
 16020                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16020                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16021                 symbol_c * return_type_symbol = IN_type_symbol;
 16021                 symbol_c * return_type_symbol = IN_type_symbol;
 16022                 function_type_suffix = IN_type_symbol;
 16022                 function_type_suffix = IN_type_symbol;
 16023                 if (search_expression_type->is_literal_integer_type(function_type_suffix))
 16023                 if (search_expression_type->is_literal_integer_type(function_type_suffix))
 16024                     function_type_suffix = &search_constant_type_c::lint_type_name;
 16024                     function_type_suffix = &search_constant_type_c::lint_type_name;
 16025                 break;
 16025                 break;
 16039     case function_sqrt :
 16039     case function_sqrt :
 16040     {
 16040     {
 16041         symbol_c *last_type_symbol = NULL;
 16041         symbol_c *last_type_symbol = NULL;
 16042 
 16042 
 16043         {
 16043         {
 16044             identifier_c IN_param_name("IN");
 16044             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 16045             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16045             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16046             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16046             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 16047             symbol_c *IN_type_symbol = NULL;
 16047             symbol_c *IN_type_symbol = NULL;
 16048             
 16048             
 16049             /* Get the value from a foo(<param_value>) style call */
 16049             /* Get the value from a foo(<param_value>) style call */
 16050             if (IN_param_value == NULL)
 16050             if (IN_param_value == NULL)
 16051               IN_param_value = function_call_param_iterator.next_nf();
 16051               IN_param_value = function_call_param_iterator.next_nf();
 16059         
 16059         
 16060                 function_name = (symbol_c*)(new pragma_c("__sqrt_"));
 16060                 function_name = (symbol_c*)(new pragma_c("__sqrt_"));
 16061                 
 16061                 
 16062                 if (IN_type_symbol == NULL)
 16062                 if (IN_type_symbol == NULL)
 16063                   IN_type_symbol = last_type_symbol;
 16063                   IN_type_symbol = last_type_symbol;
 16064                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16064                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16065                 symbol_c * return_type_symbol = IN_type_symbol;
 16065                 symbol_c * return_type_symbol = IN_type_symbol;
 16066                 function_type_suffix = IN_type_symbol;
 16066                 function_type_suffix = IN_type_symbol;
 16067                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16067                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16068                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16068                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16069                 break;
 16069                 break;
 16083     case function_ln :
 16083     case function_ln :
 16084     {
 16084     {
 16085         symbol_c *last_type_symbol = NULL;
 16085         symbol_c *last_type_symbol = NULL;
 16086 
 16086 
 16087         {
 16087         {
 16088             identifier_c IN_param_name("IN");
 16088             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 16089             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16089             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16090             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16090             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 16091             symbol_c *IN_type_symbol = NULL;
 16091             symbol_c *IN_type_symbol = NULL;
 16092             
 16092             
 16093             /* Get the value from a foo(<param_value>) style call */
 16093             /* Get the value from a foo(<param_value>) style call */
 16094             if (IN_param_value == NULL)
 16094             if (IN_param_value == NULL)
 16095               IN_param_value = function_call_param_iterator.next_nf();
 16095               IN_param_value = function_call_param_iterator.next_nf();
 16103         
 16103         
 16104                 function_name = (symbol_c*)(new pragma_c("__ln_"));
 16104                 function_name = (symbol_c*)(new pragma_c("__ln_"));
 16105                 
 16105                 
 16106                 if (IN_type_symbol == NULL)
 16106                 if (IN_type_symbol == NULL)
 16107                   IN_type_symbol = last_type_symbol;
 16107                   IN_type_symbol = last_type_symbol;
 16108                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16108                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16109                 symbol_c * return_type_symbol = IN_type_symbol;
 16109                 symbol_c * return_type_symbol = IN_type_symbol;
 16110                 function_type_suffix = IN_type_symbol;
 16110                 function_type_suffix = IN_type_symbol;
 16111                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16111                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16112                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16112                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16113                 break;
 16113                 break;
 16127     case function_log :
 16127     case function_log :
 16128     {
 16128     {
 16129         symbol_c *last_type_symbol = NULL;
 16129         symbol_c *last_type_symbol = NULL;
 16130 
 16130 
 16131         {
 16131         {
 16132             identifier_c IN_param_name("IN");
 16132             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 16133             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16133             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16134             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16134             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 16135             symbol_c *IN_type_symbol = NULL;
 16135             symbol_c *IN_type_symbol = NULL;
 16136             
 16136             
 16137             /* Get the value from a foo(<param_value>) style call */
 16137             /* Get the value from a foo(<param_value>) style call */
 16138             if (IN_param_value == NULL)
 16138             if (IN_param_value == NULL)
 16139               IN_param_value = function_call_param_iterator.next_nf();
 16139               IN_param_value = function_call_param_iterator.next_nf();
 16147         
 16147         
 16148                 function_name = (symbol_c*)(new pragma_c("__log_"));
 16148                 function_name = (symbol_c*)(new pragma_c("__log_"));
 16149                 
 16149                 
 16150                 if (IN_type_symbol == NULL)
 16150                 if (IN_type_symbol == NULL)
 16151                   IN_type_symbol = last_type_symbol;
 16151                   IN_type_symbol = last_type_symbol;
 16152                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16152                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16153                 symbol_c * return_type_symbol = IN_type_symbol;
 16153                 symbol_c * return_type_symbol = IN_type_symbol;
 16154                 function_type_suffix = IN_type_symbol;
 16154                 function_type_suffix = IN_type_symbol;
 16155                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16155                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16156                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16156                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16157                 break;
 16157                 break;
 16171     case function_exp :
 16171     case function_exp :
 16172     {
 16172     {
 16173         symbol_c *last_type_symbol = NULL;
 16173         symbol_c *last_type_symbol = NULL;
 16174 
 16174 
 16175         {
 16175         {
 16176             identifier_c IN_param_name("IN");
 16176             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 16177             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16177             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16178             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16178             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 16179             symbol_c *IN_type_symbol = NULL;
 16179             symbol_c *IN_type_symbol = NULL;
 16180             
 16180             
 16181             /* Get the value from a foo(<param_value>) style call */
 16181             /* Get the value from a foo(<param_value>) style call */
 16182             if (IN_param_value == NULL)
 16182             if (IN_param_value == NULL)
 16183               IN_param_value = function_call_param_iterator.next_nf();
 16183               IN_param_value = function_call_param_iterator.next_nf();
 16191         
 16191         
 16192                 function_name = (symbol_c*)(new pragma_c("__exp_"));
 16192                 function_name = (symbol_c*)(new pragma_c("__exp_"));
 16193                 
 16193                 
 16194                 if (IN_type_symbol == NULL)
 16194                 if (IN_type_symbol == NULL)
 16195                   IN_type_symbol = last_type_symbol;
 16195                   IN_type_symbol = last_type_symbol;
 16196                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16196                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16197                 symbol_c * return_type_symbol = IN_type_symbol;
 16197                 symbol_c * return_type_symbol = IN_type_symbol;
 16198                 function_type_suffix = IN_type_symbol;
 16198                 function_type_suffix = IN_type_symbol;
 16199                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16199                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16200                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16200                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16201                 break;
 16201                 break;
 16215     case function_sin :
 16215     case function_sin :
 16216     {
 16216     {
 16217         symbol_c *last_type_symbol = NULL;
 16217         symbol_c *last_type_symbol = NULL;
 16218 
 16218 
 16219         {
 16219         {
 16220             identifier_c IN_param_name("IN");
 16220             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 16221             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16221             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16222             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16222             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 16223             symbol_c *IN_type_symbol = NULL;
 16223             symbol_c *IN_type_symbol = NULL;
 16224             
 16224             
 16225             /* Get the value from a foo(<param_value>) style call */
 16225             /* Get the value from a foo(<param_value>) style call */
 16226             if (IN_param_value == NULL)
 16226             if (IN_param_value == NULL)
 16227               IN_param_value = function_call_param_iterator.next_nf();
 16227               IN_param_value = function_call_param_iterator.next_nf();
 16235         
 16235         
 16236                 function_name = (symbol_c*)(new pragma_c("__sin_"));
 16236                 function_name = (symbol_c*)(new pragma_c("__sin_"));
 16237                 
 16237                 
 16238                 if (IN_type_symbol == NULL)
 16238                 if (IN_type_symbol == NULL)
 16239                   IN_type_symbol = last_type_symbol;
 16239                   IN_type_symbol = last_type_symbol;
 16240                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16240                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16241                 symbol_c * return_type_symbol = IN_type_symbol;
 16241                 symbol_c * return_type_symbol = IN_type_symbol;
 16242                 function_type_suffix = IN_type_symbol;
 16242                 function_type_suffix = IN_type_symbol;
 16243                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16243                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16244                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16244                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16245                 break;
 16245                 break;
 16259     case function_cos :
 16259     case function_cos :
 16260     {
 16260     {
 16261         symbol_c *last_type_symbol = NULL;
 16261         symbol_c *last_type_symbol = NULL;
 16262 
 16262 
 16263         {
 16263         {
 16264             identifier_c IN_param_name("IN");
 16264             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 16265             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16265             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16266             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16266             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 16267             symbol_c *IN_type_symbol = NULL;
 16267             symbol_c *IN_type_symbol = NULL;
 16268             
 16268             
 16269             /* Get the value from a foo(<param_value>) style call */
 16269             /* Get the value from a foo(<param_value>) style call */
 16270             if (IN_param_value == NULL)
 16270             if (IN_param_value == NULL)
 16271               IN_param_value = function_call_param_iterator.next_nf();
 16271               IN_param_value = function_call_param_iterator.next_nf();
 16279         
 16279         
 16280                 function_name = (symbol_c*)(new pragma_c("__cos_"));
 16280                 function_name = (symbol_c*)(new pragma_c("__cos_"));
 16281                 
 16281                 
 16282                 if (IN_type_symbol == NULL)
 16282                 if (IN_type_symbol == NULL)
 16283                   IN_type_symbol = last_type_symbol;
 16283                   IN_type_symbol = last_type_symbol;
 16284                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16284                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16285                 symbol_c * return_type_symbol = IN_type_symbol;
 16285                 symbol_c * return_type_symbol = IN_type_symbol;
 16286                 function_type_suffix = IN_type_symbol;
 16286                 function_type_suffix = IN_type_symbol;
 16287                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16287                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16288                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16288                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16289                 break;
 16289                 break;
 16303     case function_tan :
 16303     case function_tan :
 16304     {
 16304     {
 16305         symbol_c *last_type_symbol = NULL;
 16305         symbol_c *last_type_symbol = NULL;
 16306 
 16306 
 16307         {
 16307         {
 16308             identifier_c IN_param_name("IN");
 16308             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 16309             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16309             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16310             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16310             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 16311             symbol_c *IN_type_symbol = NULL;
 16311             symbol_c *IN_type_symbol = NULL;
 16312             
 16312             
 16313             /* Get the value from a foo(<param_value>) style call */
 16313             /* Get the value from a foo(<param_value>) style call */
 16314             if (IN_param_value == NULL)
 16314             if (IN_param_value == NULL)
 16315               IN_param_value = function_call_param_iterator.next_nf();
 16315               IN_param_value = function_call_param_iterator.next_nf();
 16323         
 16323         
 16324                 function_name = (symbol_c*)(new pragma_c("__tan_"));
 16324                 function_name = (symbol_c*)(new pragma_c("__tan_"));
 16325                 
 16325                 
 16326                 if (IN_type_symbol == NULL)
 16326                 if (IN_type_symbol == NULL)
 16327                   IN_type_symbol = last_type_symbol;
 16327                   IN_type_symbol = last_type_symbol;
 16328                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16328                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16329                 symbol_c * return_type_symbol = IN_type_symbol;
 16329                 symbol_c * return_type_symbol = IN_type_symbol;
 16330                 function_type_suffix = IN_type_symbol;
 16330                 function_type_suffix = IN_type_symbol;
 16331                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16331                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16332                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16332                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16333                 break;
 16333                 break;
 16347     case function_asin :
 16347     case function_asin :
 16348     {
 16348     {
 16349         symbol_c *last_type_symbol = NULL;
 16349         symbol_c *last_type_symbol = NULL;
 16350 
 16350 
 16351         {
 16351         {
 16352             identifier_c IN_param_name("IN");
 16352             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 16353             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16353             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16354             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16354             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 16355             symbol_c *IN_type_symbol = NULL;
 16355             symbol_c *IN_type_symbol = NULL;
 16356             
 16356             
 16357             /* Get the value from a foo(<param_value>) style call */
 16357             /* Get the value from a foo(<param_value>) style call */
 16358             if (IN_param_value == NULL)
 16358             if (IN_param_value == NULL)
 16359               IN_param_value = function_call_param_iterator.next_nf();
 16359               IN_param_value = function_call_param_iterator.next_nf();
 16367         
 16367         
 16368                 function_name = (symbol_c*)(new pragma_c("__asin_"));
 16368                 function_name = (symbol_c*)(new pragma_c("__asin_"));
 16369                 
 16369                 
 16370                 if (IN_type_symbol == NULL)
 16370                 if (IN_type_symbol == NULL)
 16371                   IN_type_symbol = last_type_symbol;
 16371                   IN_type_symbol = last_type_symbol;
 16372                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16372                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16373                 symbol_c * return_type_symbol = IN_type_symbol;
 16373                 symbol_c * return_type_symbol = IN_type_symbol;
 16374                 function_type_suffix = IN_type_symbol;
 16374                 function_type_suffix = IN_type_symbol;
 16375                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16375                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16376                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16376                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16377                 break;
 16377                 break;
 16391     case function_acos :
 16391     case function_acos :
 16392     {
 16392     {
 16393         symbol_c *last_type_symbol = NULL;
 16393         symbol_c *last_type_symbol = NULL;
 16394 
 16394 
 16395         {
 16395         {
 16396             identifier_c IN_param_name("IN");
 16396             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 16397             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16397             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16398             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16398             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 16399             symbol_c *IN_type_symbol = NULL;
 16399             symbol_c *IN_type_symbol = NULL;
 16400             
 16400             
 16401             /* Get the value from a foo(<param_value>) style call */
 16401             /* Get the value from a foo(<param_value>) style call */
 16402             if (IN_param_value == NULL)
 16402             if (IN_param_value == NULL)
 16403               IN_param_value = function_call_param_iterator.next_nf();
 16403               IN_param_value = function_call_param_iterator.next_nf();
 16411         
 16411         
 16412                 function_name = (symbol_c*)(new pragma_c("__acos_"));
 16412                 function_name = (symbol_c*)(new pragma_c("__acos_"));
 16413                 
 16413                 
 16414                 if (IN_type_symbol == NULL)
 16414                 if (IN_type_symbol == NULL)
 16415                   IN_type_symbol = last_type_symbol;
 16415                   IN_type_symbol = last_type_symbol;
 16416                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16416                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16417                 symbol_c * return_type_symbol = IN_type_symbol;
 16417                 symbol_c * return_type_symbol = IN_type_symbol;
 16418                 function_type_suffix = IN_type_symbol;
 16418                 function_type_suffix = IN_type_symbol;
 16419                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16419                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16420                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16420                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16421                 break;
 16421                 break;
 16435     case function_atan :
 16435     case function_atan :
 16436     {
 16436     {
 16437         symbol_c *last_type_symbol = NULL;
 16437         symbol_c *last_type_symbol = NULL;
 16438 
 16438 
 16439         {
 16439         {
 16440             identifier_c IN_param_name("IN");
 16440             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 16441             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16441             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16442             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16442             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 16443             symbol_c *IN_type_symbol = NULL;
 16443             symbol_c *IN_type_symbol = NULL;
 16444             
 16444             
 16445             /* Get the value from a foo(<param_value>) style call */
 16445             /* Get the value from a foo(<param_value>) style call */
 16446             if (IN_param_value == NULL)
 16446             if (IN_param_value == NULL)
 16447               IN_param_value = function_call_param_iterator.next_nf();
 16447               IN_param_value = function_call_param_iterator.next_nf();
 16455         
 16455         
 16456                 function_name = (symbol_c*)(new pragma_c("__atan_"));
 16456                 function_name = (symbol_c*)(new pragma_c("__atan_"));
 16457                 
 16457                 
 16458                 if (IN_type_symbol == NULL)
 16458                 if (IN_type_symbol == NULL)
 16459                   IN_type_symbol = last_type_symbol;
 16459                   IN_type_symbol = last_type_symbol;
 16460                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16460                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16461                 symbol_c * return_type_symbol = IN_type_symbol;
 16461                 symbol_c * return_type_symbol = IN_type_symbol;
 16462                 function_type_suffix = IN_type_symbol;
 16462                 function_type_suffix = IN_type_symbol;
 16463                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16463                 if (search_expression_type->is_literal_real_type(function_type_suffix))
 16464                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16464                     function_type_suffix = &search_constant_type_c::lreal_type_name;
 16465                 break;
 16465                 break;
 16479     case function_add :
 16479     case function_add :
 16480     {
 16480     {
 16481         symbol_c *last_type_symbol = NULL;
 16481         symbol_c *last_type_symbol = NULL;
 16482 
 16482 
 16483         {
 16483         {
 16484             identifier_c IN1_param_name("IN1");
 16484             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 16485             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16485             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16486             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 16486             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 16487             symbol_c *IN1_type_symbol = NULL;
 16487             symbol_c *IN1_type_symbol = NULL;
 16488             
 16488             
 16489             /* Get the value from a foo(<param_value>) style call */
 16489             /* Get the value from a foo(<param_value>) style call */
 16490             if (IN1_param_value == NULL)
 16490             if (IN1_param_value == NULL)
 16491               IN1_param_value = function_call_param_iterator.next_nf();
 16491               IN1_param_value = function_call_param_iterator.next_nf();
 16496             
 16496             
 16497             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 16497             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 16498             {
 16498             {
 16499         
 16499         
 16500                 {
 16500                 {
 16501                     identifier_c IN2_param_name("IN2");
 16501                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 16502                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16502                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16503                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16503                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 16504                     symbol_c *IN2_type_symbol = NULL;
 16504                     symbol_c *IN2_type_symbol = NULL;
 16505                     
 16505                     
 16506                     /* Get the value from a foo(<param_value>) style call */
 16506                     /* Get the value from a foo(<param_value>) style call */
 16507                     if (IN2_param_value == NULL)
 16507                     if (IN2_param_value == NULL)
 16508                       IN2_param_value = function_call_param_iterator.next_nf();
 16508                       IN2_param_value = function_call_param_iterator.next_nf();
 16518                         
 16518                         
 16519                         if (nb_param < 2)
 16519                         if (nb_param < 2)
 16520                           nb_param = 2;
 16520                           nb_param = 2;
 16521                         char* nb_param_str = new char[10];
 16521                         char* nb_param_str = new char[10];
 16522                         sprintf(nb_param_str, "%d", nb_param);
 16522                         sprintf(nb_param_str, "%d", nb_param);
 16523                         identifier_c nb_param_name("nb_param");
 16523                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 16524                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 16524                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 16525                         
 16525                         
 16526                         if (IN1_type_symbol == NULL)
 16526                         if (IN1_type_symbol == NULL)
 16527                           IN1_type_symbol = last_type_symbol;
 16527                           IN1_type_symbol = last_type_symbol;
 16528                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16528                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16529                         
 16529                         
 16530                         if (IN2_type_symbol == NULL)
 16530                         if (IN2_type_symbol == NULL)
 16531                           IN2_type_symbol = last_type_symbol;
 16531                           IN2_type_symbol = last_type_symbol;
 16532                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16532                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16533                         
 16533                         
 16534                         int base_num = 3;
 16534                         int base_num = 3;
 16535                         symbol_c *param_value = NULL;
 16535                         symbol_c *param_value = NULL;
       
 16536                         symbol_c *param_name = NULL;
 16536                         do{
 16537                         do{
 16537                             char my_name[10];
 16538                             char my_name[10];
 16538                             sprintf(my_name, "IN%d", base_num++);
 16539                             sprintf(my_name, "IN%d", base_num++);
 16539                             identifier_c param_name(my_name);
 16540                             param_name = (symbol_c*)(new identifier_c(my_name));
 16540                             
 16541                             
 16541                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16542                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16542                             param_value = function_call_param_iterator.search_f(&param_name);
 16543                             param_value = function_call_param_iterator.search_f(param_name);
 16543                             
 16544                             
 16544                             /* Get the value from a foo(<param_value>) style call */
 16545                             /* Get the value from a foo(<param_value>) style call */
 16545                             if (param_value == NULL)
 16546                             if (param_value == NULL)
 16546                               param_value = function_call_param_iterator.next_nf();
 16547                               param_value = function_call_param_iterator.next_nf();
 16547                             if (param_value != NULL){
 16548                             if (param_value != NULL){
 16548                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16549                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16549                                 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 ;
 16550                                 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 ;
 16550                             
 16551                             
 16551                                 /*Function specific CODE */
 16552                                 /*Function specific CODE */
 16552                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 16553                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 16553                             }
 16554                             }
 16554                             
 16555                             
 16555                         }while(param_value != NULL);
 16556                         }while(param_value != NULL);
 16556                         symbol_c * return_type_symbol = last_type_symbol;
 16557                         symbol_c * return_type_symbol = last_type_symbol;
 16557                         function_type_suffix = return_type_symbol;
 16558                         function_type_suffix = return_type_symbol;
 16567             
 16568             
 16568             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 16569             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 16569             {
 16570             {
 16570         
 16571         
 16571                 {
 16572                 {
 16572                     identifier_c IN2_param_name("IN2");
 16573                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 16573                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16574                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16574                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16575                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 16575                     symbol_c *IN2_type_symbol = NULL;
 16576                     symbol_c *IN2_type_symbol = NULL;
 16576                     
 16577                     
 16577                     /* Get the value from a foo(<param_value>) style call */
 16578                     /* Get the value from a foo(<param_value>) style call */
 16578                     if (IN2_param_value == NULL)
 16579                     if (IN2_param_value == NULL)
 16579                       IN2_param_value = function_call_param_iterator.next_nf();
 16580                       IN2_param_value = function_call_param_iterator.next_nf();
 16587                 
 16588                 
 16588                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 16589                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 16589                         
 16590                         
 16590                         if (IN1_type_symbol == NULL)
 16591                         if (IN1_type_symbol == NULL)
 16591                           IN1_type_symbol = last_type_symbol;
 16592                           IN1_type_symbol = last_type_symbol;
 16592                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16593                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16593                         
 16594                         
 16594                         if (IN2_type_symbol == NULL)
 16595                         if (IN2_type_symbol == NULL)
 16595                           IN2_type_symbol = last_type_symbol;
 16596                           IN2_type_symbol = last_type_symbol;
 16596                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16597                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16597                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 16598                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 16598                         break;
 16599                         break;
 16599                         
 16600                         
 16600                     }
 16601                     }
 16601                     
 16602                     
 16607             
 16608             
 16608             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 16609             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 16609             {
 16610             {
 16610         
 16611         
 16611                 {
 16612                 {
 16612                     identifier_c IN2_param_name("IN2");
 16613                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 16613                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16614                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16614                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16615                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 16615                     symbol_c *IN2_type_symbol = NULL;
 16616                     symbol_c *IN2_type_symbol = NULL;
 16616                     
 16617                     
 16617                     /* Get the value from a foo(<param_value>) style call */
 16618                     /* Get the value from a foo(<param_value>) style call */
 16618                     if (IN2_param_value == NULL)
 16619                     if (IN2_param_value == NULL)
 16619                       IN2_param_value = function_call_param_iterator.next_nf();
 16620                       IN2_param_value = function_call_param_iterator.next_nf();
 16627                 
 16628                 
 16628                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 16629                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 16629                         
 16630                         
 16630                         if (IN1_type_symbol == NULL)
 16631                         if (IN1_type_symbol == NULL)
 16631                           IN1_type_symbol = last_type_symbol;
 16632                           IN1_type_symbol = last_type_symbol;
 16632                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16633                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16633                         
 16634                         
 16634                         if (IN2_type_symbol == NULL)
 16635                         if (IN2_type_symbol == NULL)
 16635                           IN2_type_symbol = last_type_symbol;
 16636                           IN2_type_symbol = last_type_symbol;
 16636                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16637                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16637                         symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 16638                         symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 16638                         break;
 16639                         break;
 16639                         
 16640                         
 16640                     }
 16641                     }
 16641                     
 16642                     
 16647             
 16648             
 16648             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 16649             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 16649             {
 16650             {
 16650         
 16651         
 16651                 {
 16652                 {
 16652                     identifier_c IN2_param_name("IN2");
 16653                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 16653                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16654                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16654                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16655                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 16655                     symbol_c *IN2_type_symbol = NULL;
 16656                     symbol_c *IN2_type_symbol = NULL;
 16656                     
 16657                     
 16657                     /* Get the value from a foo(<param_value>) style call */
 16658                     /* Get the value from a foo(<param_value>) style call */
 16658                     if (IN2_param_value == NULL)
 16659                     if (IN2_param_value == NULL)
 16659                       IN2_param_value = function_call_param_iterator.next_nf();
 16660                       IN2_param_value = function_call_param_iterator.next_nf();
 16667                 
 16668                 
 16668                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 16669                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 16669                         
 16670                         
 16670                         if (IN1_type_symbol == NULL)
 16671                         if (IN1_type_symbol == NULL)
 16671                           IN1_type_symbol = last_type_symbol;
 16672                           IN1_type_symbol = last_type_symbol;
 16672                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16673                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16673                         
 16674                         
 16674                         if (IN2_type_symbol == NULL)
 16675                         if (IN2_type_symbol == NULL)
 16675                           IN2_type_symbol = last_type_symbol;
 16676                           IN2_type_symbol = last_type_symbol;
 16676                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16677                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16677                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16678                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16678                         break;
 16679                         break;
 16679                         
 16680                         
 16680                     }
 16681                     }
 16681                     
 16682                     
 16698     case function_mul :
 16699     case function_mul :
 16699     {
 16700     {
 16700         symbol_c *last_type_symbol = NULL;
 16701         symbol_c *last_type_symbol = NULL;
 16701 
 16702 
 16702         {
 16703         {
 16703             identifier_c IN1_param_name("IN1");
 16704             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 16704             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16705             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16705             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 16706             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 16706             symbol_c *IN1_type_symbol = NULL;
 16707             symbol_c *IN1_type_symbol = NULL;
 16707             
 16708             
 16708             /* Get the value from a foo(<param_value>) style call */
 16709             /* Get the value from a foo(<param_value>) style call */
 16709             if (IN1_param_value == NULL)
 16710             if (IN1_param_value == NULL)
 16710               IN1_param_value = function_call_param_iterator.next_nf();
 16711               IN1_param_value = function_call_param_iterator.next_nf();
 16715             
 16716             
 16716             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 16717             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 16717             {
 16718             {
 16718         
 16719         
 16719                 {
 16720                 {
 16720                     identifier_c IN2_param_name("IN2");
 16721                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 16721                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16722                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16722                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16723                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 16723                     symbol_c *IN2_type_symbol = NULL;
 16724                     symbol_c *IN2_type_symbol = NULL;
 16724                     
 16725                     
 16725                     /* Get the value from a foo(<param_value>) style call */
 16726                     /* Get the value from a foo(<param_value>) style call */
 16726                     if (IN2_param_value == NULL)
 16727                     if (IN2_param_value == NULL)
 16727                       IN2_param_value = function_call_param_iterator.next_nf();
 16728                       IN2_param_value = function_call_param_iterator.next_nf();
 16737                         
 16738                         
 16738                         if (nb_param < 2)
 16739                         if (nb_param < 2)
 16739                           nb_param = 2;
 16740                           nb_param = 2;
 16740                         char* nb_param_str = new char[10];
 16741                         char* nb_param_str = new char[10];
 16741                         sprintf(nb_param_str, "%d", nb_param);
 16742                         sprintf(nb_param_str, "%d", nb_param);
 16742                         identifier_c nb_param_name("nb_param");
 16743                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 16743                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 16744                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 16744                         
 16745                         
 16745                         if (IN1_type_symbol == NULL)
 16746                         if (IN1_type_symbol == NULL)
 16746                           IN1_type_symbol = last_type_symbol;
 16747                           IN1_type_symbol = last_type_symbol;
 16747                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16748                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16748                         
 16749                         
 16749                         if (IN2_type_symbol == NULL)
 16750                         if (IN2_type_symbol == NULL)
 16750                           IN2_type_symbol = last_type_symbol;
 16751                           IN2_type_symbol = last_type_symbol;
 16751                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16752                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16752                         
 16753                         
 16753                         int base_num = 3;
 16754                         int base_num = 3;
 16754                         symbol_c *param_value = NULL;
 16755                         symbol_c *param_value = NULL;
       
 16756                         symbol_c *param_name = NULL;
 16755                         do{
 16757                         do{
 16756                             char my_name[10];
 16758                             char my_name[10];
 16757                             sprintf(my_name, "IN%d", base_num++);
 16759                             sprintf(my_name, "IN%d", base_num++);
 16758                             identifier_c param_name(my_name);
 16760                             param_name = (symbol_c*)(new identifier_c(my_name));
 16759                             
 16761                             
 16760                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16762                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16761                             param_value = function_call_param_iterator.search_f(&param_name);
 16763                             param_value = function_call_param_iterator.search_f(param_name);
 16762                             
 16764                             
 16763                             /* Get the value from a foo(<param_value>) style call */
 16765                             /* Get the value from a foo(<param_value>) style call */
 16764                             if (param_value == NULL)
 16766                             if (param_value == NULL)
 16765                               param_value = function_call_param_iterator.next_nf();
 16767                               param_value = function_call_param_iterator.next_nf();
 16766                             if (param_value != NULL){
 16768                             if (param_value != NULL){
 16767                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16769                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16768                                 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 ;
 16770                                 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 ;
 16769                             
 16771                             
 16770                                 /*Function specific CODE */
 16772                                 /*Function specific CODE */
 16771                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 16773                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 16772                             }
 16774                             }
 16773                             
 16775                             
 16774                         }while(param_value != NULL);
 16776                         }while(param_value != NULL);
 16775                         symbol_c * return_type_symbol = last_type_symbol;
 16777                         symbol_c * return_type_symbol = last_type_symbol;
 16776                         function_type_suffix = return_type_symbol;
 16778                         function_type_suffix = return_type_symbol;
 16786             
 16788             
 16787             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 16789             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 16788             {
 16790             {
 16789         
 16791         
 16790                 {
 16792                 {
 16791                     identifier_c IN2_param_name("IN2");
 16793                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 16792                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16794                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16793                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16795                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 16794                     symbol_c *IN2_type_symbol = NULL;
 16796                     symbol_c *IN2_type_symbol = NULL;
 16795                     
 16797                     
 16796                     /* Get the value from a foo(<param_value>) style call */
 16798                     /* Get the value from a foo(<param_value>) style call */
 16797                     if (IN2_param_value == NULL)
 16799                     if (IN2_param_value == NULL)
 16798                       IN2_param_value = function_call_param_iterator.next_nf();
 16800                       IN2_param_value = function_call_param_iterator.next_nf();
 16806                 
 16808                 
 16807                         function_name = (symbol_c*)(new pragma_c("__time_mul"));
 16809                         function_name = (symbol_c*)(new pragma_c("__time_mul"));
 16808                         
 16810                         
 16809                         if (IN1_type_symbol == NULL)
 16811                         if (IN1_type_symbol == NULL)
 16810                           IN1_type_symbol = last_type_symbol;
 16812                           IN1_type_symbol = last_type_symbol;
 16811                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16813                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16812                         
 16814                         
 16813                         if (IN2_type_symbol == NULL)
 16815                         if (IN2_type_symbol == NULL)
 16814                           IN2_type_symbol = last_type_symbol;
 16816                           IN2_type_symbol = last_type_symbol;
 16815                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16817                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16816                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16818                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16817                         if (search_expression_type->is_literal_integer_type(function_type_suffix))
 16819                         if (search_expression_type->is_literal_integer_type(function_type_suffix))
 16818                             function_type_suffix = &search_constant_type_c::lint_type_name;
 16820                             function_type_suffix = &search_constant_type_c::lint_type_name;
 16819                         break;
 16821                         break;
 16820                         
 16822                         
 16839     case function_sub :
 16841     case function_sub :
 16840     {
 16842     {
 16841         symbol_c *last_type_symbol = NULL;
 16843         symbol_c *last_type_symbol = NULL;
 16842 
 16844 
 16843         {
 16845         {
 16844             identifier_c IN1_param_name("IN1");
 16846             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 16845             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16847             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16846             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 16848             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 16847             symbol_c *IN1_type_symbol = NULL;
 16849             symbol_c *IN1_type_symbol = NULL;
 16848             
 16850             
 16849             /* Get the value from a foo(<param_value>) style call */
 16851             /* Get the value from a foo(<param_value>) style call */
 16850             if (IN1_param_value == NULL)
 16852             if (IN1_param_value == NULL)
 16851               IN1_param_value = function_call_param_iterator.next_nf();
 16853               IN1_param_value = function_call_param_iterator.next_nf();
 16856             
 16858             
 16857             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 16859             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 16858             {
 16860             {
 16859         
 16861         
 16860                 {
 16862                 {
 16861                     identifier_c IN2_param_name("IN2");
 16863                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 16862                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16864                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16863                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16865                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 16864                     symbol_c *IN2_type_symbol = NULL;
 16866                     symbol_c *IN2_type_symbol = NULL;
 16865                     
 16867                     
 16866                     /* Get the value from a foo(<param_value>) style call */
 16868                     /* Get the value from a foo(<param_value>) style call */
 16867                     if (IN2_param_value == NULL)
 16869                     if (IN2_param_value == NULL)
 16868                       IN2_param_value = function_call_param_iterator.next_nf();
 16870                       IN2_param_value = function_call_param_iterator.next_nf();
 16876                 
 16878                 
 16877                         function_name = (symbol_c*)(new pragma_c("__sub_"));
 16879                         function_name = (symbol_c*)(new pragma_c("__sub_"));
 16878                         
 16880                         
 16879                         if (IN1_type_symbol == NULL)
 16881                         if (IN1_type_symbol == NULL)
 16880                           IN1_type_symbol = last_type_symbol;
 16882                           IN1_type_symbol = last_type_symbol;
 16881                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16883                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16882                         
 16884                         
 16883                         if (IN2_type_symbol == NULL)
 16885                         if (IN2_type_symbol == NULL)
 16884                           IN2_type_symbol = last_type_symbol;
 16886                           IN2_type_symbol = last_type_symbol;
 16885                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16887                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16886                         symbol_c * return_type_symbol = last_type_symbol;
 16888                         symbol_c * return_type_symbol = last_type_symbol;
 16887                         function_type_suffix = return_type_symbol;
 16889                         function_type_suffix = return_type_symbol;
 16888                         break;
 16890                         break;
 16889                         
 16891                         
 16890                     }
 16892                     }
 16897             
 16899             
 16898             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 16900             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 16899             {
 16901             {
 16900         
 16902         
 16901                 {
 16903                 {
 16902                     identifier_c IN2_param_name("IN2");
 16904                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 16903                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16905                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16904                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16906                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 16905                     symbol_c *IN2_type_symbol = NULL;
 16907                     symbol_c *IN2_type_symbol = NULL;
 16906                     
 16908                     
 16907                     /* Get the value from a foo(<param_value>) style call */
 16909                     /* Get the value from a foo(<param_value>) style call */
 16908                     if (IN2_param_value == NULL)
 16910                     if (IN2_param_value == NULL)
 16909                       IN2_param_value = function_call_param_iterator.next_nf();
 16911                       IN2_param_value = function_call_param_iterator.next_nf();
 16917                 
 16919                 
 16918                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 16920                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 16919                         
 16921                         
 16920                         if (IN1_type_symbol == NULL)
 16922                         if (IN1_type_symbol == NULL)
 16921                           IN1_type_symbol = last_type_symbol;
 16923                           IN1_type_symbol = last_type_symbol;
 16922                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16924                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16923                         
 16925                         
 16924                         if (IN2_type_symbol == NULL)
 16926                         if (IN2_type_symbol == NULL)
 16925                           IN2_type_symbol = last_type_symbol;
 16927                           IN2_type_symbol = last_type_symbol;
 16926                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16928                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16927                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16929                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16928                         break;
 16930                         break;
 16929                         
 16931                         
 16930                     }
 16932                     }
 16931                     
 16933                     
 16937             
 16939             
 16938             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 16940             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 16939             {
 16941             {
 16940         
 16942         
 16941                 {
 16943                 {
 16942                     identifier_c IN2_param_name("IN2");
 16944                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 16943                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16945                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16944                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16946                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 16945                     symbol_c *IN2_type_symbol = NULL;
 16947                     symbol_c *IN2_type_symbol = NULL;
 16946                     
 16948                     
 16947                     /* Get the value from a foo(<param_value>) style call */
 16949                     /* Get the value from a foo(<param_value>) style call */
 16948                     if (IN2_param_value == NULL)
 16950                     if (IN2_param_value == NULL)
 16949                       IN2_param_value = function_call_param_iterator.next_nf();
 16951                       IN2_param_value = function_call_param_iterator.next_nf();
 16957                 
 16959                 
 16958                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 16960                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 16959                         
 16961                         
 16960                         if (IN1_type_symbol == NULL)
 16962                         if (IN1_type_symbol == NULL)
 16961                           IN1_type_symbol = last_type_symbol;
 16963                           IN1_type_symbol = last_type_symbol;
 16962                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16964                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16963                         
 16965                         
 16964                         if (IN2_type_symbol == NULL)
 16966                         if (IN2_type_symbol == NULL)
 16965                           IN2_type_symbol = last_type_symbol;
 16967                           IN2_type_symbol = last_type_symbol;
 16966                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16968                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16967                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16969                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16968                         break;
 16970                         break;
 16969                         
 16971                         
 16970                     }
 16972                     }
 16971                     
 16973                     
 16974                 
 16976                 
 16975                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 16977                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 16976                         
 16978                         
 16977                         if (IN1_type_symbol == NULL)
 16979                         if (IN1_type_symbol == NULL)
 16978                           IN1_type_symbol = last_type_symbol;
 16980                           IN1_type_symbol = last_type_symbol;
 16979                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16981                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16980                         
 16982                         
 16981                         if (IN2_type_symbol == NULL)
 16983                         if (IN2_type_symbol == NULL)
 16982                           IN2_type_symbol = last_type_symbol;
 16984                           IN2_type_symbol = last_type_symbol;
 16983                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16985                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16984                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 16986                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 16985                         break;
 16987                         break;
 16986                         
 16988                         
 16987                     }
 16989                     }
 16988                     
 16990                     
 16994             
 16996             
 16995             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 16997             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 16996             {
 16998             {
 16997         
 16999         
 16998                 {
 17000                 {
 16999                     identifier_c IN2_param_name("IN2");
 17001                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 17000                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17002                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17001                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17003                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 17002                     symbol_c *IN2_type_symbol = NULL;
 17004                     symbol_c *IN2_type_symbol = NULL;
 17003                     
 17005                     
 17004                     /* Get the value from a foo(<param_value>) style call */
 17006                     /* Get the value from a foo(<param_value>) style call */
 17005                     if (IN2_param_value == NULL)
 17007                     if (IN2_param_value == NULL)
 17006                       IN2_param_value = function_call_param_iterator.next_nf();
 17008                       IN2_param_value = function_call_param_iterator.next_nf();
 17014                 
 17016                 
 17015                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 17017                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 17016                         
 17018                         
 17017                         if (IN1_type_symbol == NULL)
 17019                         if (IN1_type_symbol == NULL)
 17018                           IN1_type_symbol = last_type_symbol;
 17020                           IN1_type_symbol = last_type_symbol;
 17019                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17021                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17020                         
 17022                         
 17021                         if (IN2_type_symbol == NULL)
 17023                         if (IN2_type_symbol == NULL)
 17022                           IN2_type_symbol = last_type_symbol;
 17024                           IN2_type_symbol = last_type_symbol;
 17023                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17025                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17024                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17026                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17025                         break;
 17027                         break;
 17026                         
 17028                         
 17027                     }
 17029                     }
 17028                     
 17030                     
 17031                 
 17033                 
 17032                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 17034                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 17033                         
 17035                         
 17034                         if (IN1_type_symbol == NULL)
 17036                         if (IN1_type_symbol == NULL)
 17035                           IN1_type_symbol = last_type_symbol;
 17037                           IN1_type_symbol = last_type_symbol;
 17036                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17038                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17037                         
 17039                         
 17038                         if (IN2_type_symbol == NULL)
 17040                         if (IN2_type_symbol == NULL)
 17039                           IN2_type_symbol = last_type_symbol;
 17041                           IN2_type_symbol = last_type_symbol;
 17040                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17042                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17041                         symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 17043                         symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 17042                         break;
 17044                         break;
 17043                         
 17045                         
 17044                     }
 17046                     }
 17045                     
 17047                     
 17051             
 17053             
 17052             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 17054             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 17053             {
 17055             {
 17054         
 17056         
 17055                 {
 17057                 {
 17056                     identifier_c IN2_param_name("IN2");
 17058                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 17057                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17059                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17058                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17060                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 17059                     symbol_c *IN2_type_symbol = NULL;
 17061                     symbol_c *IN2_type_symbol = NULL;
 17060                     
 17062                     
 17061                     /* Get the value from a foo(<param_value>) style call */
 17063                     /* Get the value from a foo(<param_value>) style call */
 17062                     if (IN2_param_value == NULL)
 17064                     if (IN2_param_value == NULL)
 17063                       IN2_param_value = function_call_param_iterator.next_nf();
 17065                       IN2_param_value = function_call_param_iterator.next_nf();
 17071                 
 17073                 
 17072                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 17074                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 17073                         
 17075                         
 17074                         if (IN1_type_symbol == NULL)
 17076                         if (IN1_type_symbol == NULL)
 17075                           IN1_type_symbol = last_type_symbol;
 17077                           IN1_type_symbol = last_type_symbol;
 17076                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17078                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17077                         
 17079                         
 17078                         if (IN2_type_symbol == NULL)
 17080                         if (IN2_type_symbol == NULL)
 17079                           IN2_type_symbol = last_type_symbol;
 17081                           IN2_type_symbol = last_type_symbol;
 17080                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17082                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17081                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17083                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17082                         break;
 17084                         break;
 17083                         
 17085                         
 17084                     }
 17086                     }
 17085                     
 17087                     
 17102     case function_div :
 17104     case function_div :
 17103     {
 17105     {
 17104         symbol_c *last_type_symbol = NULL;
 17106         symbol_c *last_type_symbol = NULL;
 17105 
 17107 
 17106         {
 17108         {
 17107             identifier_c IN1_param_name("IN1");
 17109             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 17108             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17110             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17109             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 17111             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 17110             symbol_c *IN1_type_symbol = NULL;
 17112             symbol_c *IN1_type_symbol = NULL;
 17111             
 17113             
 17112             /* Get the value from a foo(<param_value>) style call */
 17114             /* Get the value from a foo(<param_value>) style call */
 17113             if (IN1_param_value == NULL)
 17115             if (IN1_param_value == NULL)
 17114               IN1_param_value = function_call_param_iterator.next_nf();
 17116               IN1_param_value = function_call_param_iterator.next_nf();
 17119             
 17121             
 17120             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 17122             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 17121             {
 17123             {
 17122         
 17124         
 17123                 {
 17125                 {
 17124                     identifier_c IN2_param_name("IN2");
 17126                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 17125                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17127                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17126                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17128                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 17127                     symbol_c *IN2_type_symbol = NULL;
 17129                     symbol_c *IN2_type_symbol = NULL;
 17128                     
 17130                     
 17129                     /* Get the value from a foo(<param_value>) style call */
 17131                     /* Get the value from a foo(<param_value>) style call */
 17130                     if (IN2_param_value == NULL)
 17132                     if (IN2_param_value == NULL)
 17131                       IN2_param_value = function_call_param_iterator.next_nf();
 17133                       IN2_param_value = function_call_param_iterator.next_nf();
 17139                 
 17141                 
 17140                         function_name = (symbol_c*)(new pragma_c("__div_"));
 17142                         function_name = (symbol_c*)(new pragma_c("__div_"));
 17141                         
 17143                         
 17142                         if (IN1_type_symbol == NULL)
 17144                         if (IN1_type_symbol == NULL)
 17143                           IN1_type_symbol = last_type_symbol;
 17145                           IN1_type_symbol = last_type_symbol;
 17144                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17146                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17145                         
 17147                         
 17146                         if (IN2_type_symbol == NULL)
 17148                         if (IN2_type_symbol == NULL)
 17147                           IN2_type_symbol = last_type_symbol;
 17149                           IN2_type_symbol = last_type_symbol;
 17148                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17150                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17149                         symbol_c * return_type_symbol = last_type_symbol;
 17151                         symbol_c * return_type_symbol = last_type_symbol;
 17150                         function_type_suffix = return_type_symbol;
 17152                         function_type_suffix = return_type_symbol;
 17151                         break;
 17153                         break;
 17152                         
 17154                         
 17153                     }
 17155                     }
 17160             
 17162             
 17161             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 17163             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 17162             {
 17164             {
 17163         
 17165         
 17164                 {
 17166                 {
 17165                     identifier_c IN2_param_name("IN2");
 17167                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 17166                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17168                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17167                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17169                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 17168                     symbol_c *IN2_type_symbol = NULL;
 17170                     symbol_c *IN2_type_symbol = NULL;
 17169                     
 17171                     
 17170                     /* Get the value from a foo(<param_value>) style call */
 17172                     /* Get the value from a foo(<param_value>) style call */
 17171                     if (IN2_param_value == NULL)
 17173                     if (IN2_param_value == NULL)
 17172                       IN2_param_value = function_call_param_iterator.next_nf();
 17174                       IN2_param_value = function_call_param_iterator.next_nf();
 17180                 
 17182                 
 17181                         function_name = (symbol_c*)(new pragma_c("__time_div"));
 17183                         function_name = (symbol_c*)(new pragma_c("__time_div"));
 17182                         
 17184                         
 17183                         if (IN1_type_symbol == NULL)
 17185                         if (IN1_type_symbol == NULL)
 17184                           IN1_type_symbol = last_type_symbol;
 17186                           IN1_type_symbol = last_type_symbol;
 17185                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17187                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17186                         
 17188                         
 17187                         if (IN2_type_symbol == NULL)
 17189                         if (IN2_type_symbol == NULL)
 17188                           IN2_type_symbol = last_type_symbol;
 17190                           IN2_type_symbol = last_type_symbol;
 17189                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17191                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17190                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17192                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17191                         if (search_expression_type->is_literal_integer_type(function_type_suffix))
 17193                         if (search_expression_type->is_literal_integer_type(function_type_suffix))
 17192                             function_type_suffix = &search_constant_type_c::lint_type_name;
 17194                             function_type_suffix = &search_constant_type_c::lint_type_name;
 17193                         break;
 17195                         break;
 17194                         
 17196                         
 17213     case function_mod :
 17215     case function_mod :
 17214     {
 17216     {
 17215         symbol_c *last_type_symbol = NULL;
 17217         symbol_c *last_type_symbol = NULL;
 17216 
 17218 
 17217         {
 17219         {
 17218             identifier_c IN1_param_name("IN1");
 17220             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 17219             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17221             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17220             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 17222             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 17221             symbol_c *IN1_type_symbol = NULL;
 17223             symbol_c *IN1_type_symbol = NULL;
 17222             
 17224             
 17223             /* Get the value from a foo(<param_value>) style call */
 17225             /* Get the value from a foo(<param_value>) style call */
 17224             if (IN1_param_value == NULL)
 17226             if (IN1_param_value == NULL)
 17225               IN1_param_value = function_call_param_iterator.next_nf();
 17227               IN1_param_value = function_call_param_iterator.next_nf();
 17230             
 17232             
 17231             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 17233             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 17232             {
 17234             {
 17233         
 17235         
 17234                 {
 17236                 {
 17235                     identifier_c IN2_param_name("IN2");
 17237                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 17236                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17238                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17237                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17239                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 17238                     symbol_c *IN2_type_symbol = NULL;
 17240                     symbol_c *IN2_type_symbol = NULL;
 17239                     
 17241                     
 17240                     /* Get the value from a foo(<param_value>) style call */
 17242                     /* Get the value from a foo(<param_value>) style call */
 17241                     if (IN2_param_value == NULL)
 17243                     if (IN2_param_value == NULL)
 17242                       IN2_param_value = function_call_param_iterator.next_nf();
 17244                       IN2_param_value = function_call_param_iterator.next_nf();
 17250                 
 17252                 
 17251                         function_name = (symbol_c*)(new pragma_c("__mod_"));
 17253                         function_name = (symbol_c*)(new pragma_c("__mod_"));
 17252                         
 17254                         
 17253                         if (IN1_type_symbol == NULL)
 17255                         if (IN1_type_symbol == NULL)
 17254                           IN1_type_symbol = last_type_symbol;
 17256                           IN1_type_symbol = last_type_symbol;
 17255                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17257                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17256                         
 17258                         
 17257                         if (IN2_type_symbol == NULL)
 17259                         if (IN2_type_symbol == NULL)
 17258                           IN2_type_symbol = last_type_symbol;
 17260                           IN2_type_symbol = last_type_symbol;
 17259                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17261                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17260                         symbol_c * return_type_symbol = last_type_symbol;
 17262                         symbol_c * return_type_symbol = last_type_symbol;
 17261                         function_type_suffix = return_type_symbol;
 17263                         function_type_suffix = return_type_symbol;
 17262                         break;
 17264                         break;
 17263                         
 17265                         
 17264                     }
 17266                     }
 17282     case function_expt :
 17284     case function_expt :
 17283     {
 17285     {
 17284         symbol_c *last_type_symbol = NULL;
 17286         symbol_c *last_type_symbol = NULL;
 17285 
 17287 
 17286         {
 17288         {
 17287             identifier_c IN1_param_name("IN1");
 17289             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 17288             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17290             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17289             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 17291             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 17290             symbol_c *IN1_type_symbol = NULL;
 17292             symbol_c *IN1_type_symbol = NULL;
 17291             
 17293             
 17292             /* Get the value from a foo(<param_value>) style call */
 17294             /* Get the value from a foo(<param_value>) style call */
 17293             if (IN1_param_value == NULL)
 17295             if (IN1_param_value == NULL)
 17294               IN1_param_value = function_call_param_iterator.next_nf();
 17296               IN1_param_value = function_call_param_iterator.next_nf();
 17299             
 17301             
 17300             if(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol))
 17302             if(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol))
 17301             {
 17303             {
 17302         
 17304         
 17303                 {
 17305                 {
 17304                     identifier_c IN2_param_name("IN2");
 17306                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 17305                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17307                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17306                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17308                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 17307                     symbol_c *IN2_type_symbol = NULL;
 17309                     symbol_c *IN2_type_symbol = NULL;
 17308                     
 17310                     
 17309                     /* Get the value from a foo(<param_value>) style call */
 17311                     /* Get the value from a foo(<param_value>) style call */
 17310                     if (IN2_param_value == NULL)
 17312                     if (IN2_param_value == NULL)
 17311                       IN2_param_value = function_call_param_iterator.next_nf();
 17313                       IN2_param_value = function_call_param_iterator.next_nf();
 17319                 
 17321                 
 17320                         function_name = (symbol_c*)(new pragma_c("__expt_"));
 17322                         function_name = (symbol_c*)(new pragma_c("__expt_"));
 17321                         
 17323                         
 17322                         if (IN1_type_symbol == NULL)
 17324                         if (IN1_type_symbol == NULL)
 17323                           IN1_type_symbol = last_type_symbol;
 17325                           IN1_type_symbol = last_type_symbol;
 17324                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17326                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17325                         
 17327                         
 17326                         if (IN2_type_symbol == NULL)
 17328                         if (IN2_type_symbol == NULL)
 17327                           IN2_type_symbol = last_type_symbol;
 17329                           IN2_type_symbol = last_type_symbol;
 17328                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17330                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17329                         symbol_c * return_type_symbol = last_type_symbol;
 17331                         symbol_c * return_type_symbol = last_type_symbol;
 17330                         function_type_suffix = IN1_type_symbol;
 17332                         function_type_suffix = IN1_type_symbol;
 17331                         break;
 17333                         break;
 17332                         
 17334                         
 17333                     }
 17335                     }
 17351     case function_move :
 17353     case function_move :
 17352     {
 17354     {
 17353         symbol_c *last_type_symbol = NULL;
 17355         symbol_c *last_type_symbol = NULL;
 17354 
 17356 
 17355         {
 17357         {
 17356             identifier_c IN_param_name("IN");
 17358             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 17357             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17359             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17358             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 17360             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 17359             symbol_c *IN_type_symbol = NULL;
 17361             symbol_c *IN_type_symbol = NULL;
 17360             
 17362             
 17361             /* Get the value from a foo(<param_value>) style call */
 17363             /* Get the value from a foo(<param_value>) style call */
 17362             if (IN_param_value == NULL)
 17364             if (IN_param_value == NULL)
 17363               IN_param_value = function_call_param_iterator.next_nf();
 17365               IN_param_value = function_call_param_iterator.next_nf();
 17364             if (IN_param_value != NULL) {
 17366             if (IN_param_value != NULL) {
 17365               IN_type_symbol = search_expression_type->get_type(IN_param_value);
 17367               IN_type_symbol = search_expression_type->get_type(IN_param_value);
 17366               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
 17368               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
 17367             }
 17369             }
 17368             
 17370             
 17369             
 17371             
 17370             {
 17372             {
 17371         
 17373         
 17372                 function_name = (symbol_c*)(new pragma_c("__move_"));
 17374                 function_name = (symbol_c*)(new pragma_c("__move_"));
 17373                 
 17375                 
 17374                 if (IN_type_symbol == NULL)
 17376                 if (IN_type_symbol == NULL)
 17375                   IN_type_symbol = last_type_symbol;
 17377                   IN_type_symbol = last_type_symbol;
 17376                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17378                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17377                 symbol_c * return_type_symbol = last_type_symbol;
 17379                 symbol_c * return_type_symbol = last_type_symbol;
 17378                 function_type_suffix = return_type_symbol;
 17380                 function_type_suffix = return_type_symbol;
 17379                 if (search_expression_type->is_literal_integer_type(function_type_suffix))
 17381                 if (search_expression_type->is_literal_integer_type(function_type_suffix))
 17380                     function_type_suffix = &search_constant_type_c::lint_type_name;
 17382                     function_type_suffix = &search_constant_type_c::lint_type_name;
 17381                 else if (search_expression_type->is_literal_real_type(function_type_suffix))
 17383                 else if (search_expression_type->is_literal_real_type(function_type_suffix))
 17397     case function_shl :
 17399     case function_shl :
 17398     {
 17400     {
 17399         symbol_c *last_type_symbol = NULL;
 17401         symbol_c *last_type_symbol = NULL;
 17400 
 17402 
 17401         {
 17403         {
 17402             identifier_c IN_param_name("IN");
 17404             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 17403             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17405             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17404             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 17406             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 17405             symbol_c *IN_type_symbol = NULL;
 17407             symbol_c *IN_type_symbol = NULL;
 17406             
 17408             
 17407             /* Get the value from a foo(<param_value>) style call */
 17409             /* Get the value from a foo(<param_value>) style call */
 17408             if (IN_param_value == NULL)
 17410             if (IN_param_value == NULL)
 17409               IN_param_value = function_call_param_iterator.next_nf();
 17411               IN_param_value = function_call_param_iterator.next_nf();
 17414             
 17416             
 17415             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 17417             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 17416             {
 17418             {
 17417         
 17419         
 17418                 {
 17420                 {
 17419                     identifier_c N_param_name("N");
 17421                     symbol_c *N_param_name = (symbol_c *)(new identifier_c("N"));
 17420                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17422                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17421                     symbol_c *N_param_value = function_call_param_iterator.search_f(&N_param_name);
 17423                     symbol_c *N_param_value = function_call_param_iterator.search_f(N_param_name);
 17422                     symbol_c *N_type_symbol = NULL;
 17424                     symbol_c *N_type_symbol = NULL;
 17423                     
 17425                     
 17424                     /* Get the value from a foo(<param_value>) style call */
 17426                     /* Get the value from a foo(<param_value>) style call */
 17425                     if (N_param_value == NULL)
 17427                     if (N_param_value == NULL)
 17426                       N_param_value = function_call_param_iterator.next_nf();
 17428                       N_param_value = function_call_param_iterator.next_nf();
 17434                 
 17436                 
 17435                         function_name = (symbol_c*)(new pragma_c("__shl_"));
 17437                         function_name = (symbol_c*)(new pragma_c("__shl_"));
 17436                         
 17438                         
 17437                         if (IN_type_symbol == NULL)
 17439                         if (IN_type_symbol == NULL)
 17438                           IN_type_symbol = last_type_symbol;
 17440                           IN_type_symbol = last_type_symbol;
 17439                         ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17441                         ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17440                         
 17442                         
 17441                         if (N_type_symbol == NULL)
 17443                         if (N_type_symbol == NULL)
 17442                           N_type_symbol = last_type_symbol;
 17444                           N_type_symbol = last_type_symbol;
 17443                         ADD_PARAM_LIST(&N_param_name, N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17445                         ADD_PARAM_LIST(N_param_name, N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17444                         symbol_c * return_type_symbol = IN_type_symbol;
 17446                         symbol_c * return_type_symbol = IN_type_symbol;
 17445                         function_type_suffix = IN_type_symbol;
 17447                         function_type_suffix = IN_type_symbol;
 17446                         break;
 17448                         break;
 17447                         
 17449                         
 17448                     }
 17450                     }
 17466     case function_shr :
 17468     case function_shr :
 17467     {
 17469     {
 17468         symbol_c *last_type_symbol = NULL;
 17470         symbol_c *last_type_symbol = NULL;
 17469 
 17471 
 17470         {
 17472         {
 17471             identifier_c IN_param_name("IN");
 17473             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 17472             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17474             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17473             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 17475             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 17474             symbol_c *IN_type_symbol = NULL;
 17476             symbol_c *IN_type_symbol = NULL;
 17475             
 17477             
 17476             /* Get the value from a foo(<param_value>) style call */
 17478             /* Get the value from a foo(<param_value>) style call */
 17477             if (IN_param_value == NULL)
 17479             if (IN_param_value == NULL)
 17478               IN_param_value = function_call_param_iterator.next_nf();
 17480               IN_param_value = function_call_param_iterator.next_nf();
 17483             
 17485             
 17484             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 17486             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 17485             {
 17487             {
 17486         
 17488         
 17487                 {
 17489                 {
 17488                     identifier_c N_param_name("N");
 17490                     symbol_c *N_param_name = (symbol_c *)(new identifier_c("N"));
 17489                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17491                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17490                     symbol_c *N_param_value = function_call_param_iterator.search_f(&N_param_name);
 17492                     symbol_c *N_param_value = function_call_param_iterator.search_f(N_param_name);
 17491                     symbol_c *N_type_symbol = NULL;
 17493                     symbol_c *N_type_symbol = NULL;
 17492                     
 17494                     
 17493                     /* Get the value from a foo(<param_value>) style call */
 17495                     /* Get the value from a foo(<param_value>) style call */
 17494                     if (N_param_value == NULL)
 17496                     if (N_param_value == NULL)
 17495                       N_param_value = function_call_param_iterator.next_nf();
 17497                       N_param_value = function_call_param_iterator.next_nf();
 17503                 
 17505                 
 17504                         function_name = (symbol_c*)(new pragma_c("__shr_"));
 17506                         function_name = (symbol_c*)(new pragma_c("__shr_"));
 17505                         
 17507                         
 17506                         if (IN_type_symbol == NULL)
 17508                         if (IN_type_symbol == NULL)
 17507                           IN_type_symbol = last_type_symbol;
 17509                           IN_type_symbol = last_type_symbol;
 17508                         ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17510                         ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17509                         
 17511                         
 17510                         if (N_type_symbol == NULL)
 17512                         if (N_type_symbol == NULL)
 17511                           N_type_symbol = last_type_symbol;
 17513                           N_type_symbol = last_type_symbol;
 17512                         ADD_PARAM_LIST(&N_param_name, N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17514                         ADD_PARAM_LIST(N_param_name, N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17513                         symbol_c * return_type_symbol = IN_type_symbol;
 17515                         symbol_c * return_type_symbol = IN_type_symbol;
 17514                         function_type_suffix = IN_type_symbol;
 17516                         function_type_suffix = IN_type_symbol;
 17515                         break;
 17517                         break;
 17516                         
 17518                         
 17517                     }
 17519                     }
 17535     case function_ror :
 17537     case function_ror :
 17536     {
 17538     {
 17537         symbol_c *last_type_symbol = NULL;
 17539         symbol_c *last_type_symbol = NULL;
 17538 
 17540 
 17539         {
 17541         {
 17540             identifier_c IN_param_name("IN");
 17542             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 17541             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17543             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17542             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 17544             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 17543             symbol_c *IN_type_symbol = NULL;
 17545             symbol_c *IN_type_symbol = NULL;
 17544             
 17546             
 17545             /* Get the value from a foo(<param_value>) style call */
 17547             /* Get the value from a foo(<param_value>) style call */
 17546             if (IN_param_value == NULL)
 17548             if (IN_param_value == NULL)
 17547               IN_param_value = function_call_param_iterator.next_nf();
 17549               IN_param_value = function_call_param_iterator.next_nf();
 17552             
 17554             
 17553             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
 17555             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
 17554             {
 17556             {
 17555         
 17557         
 17556                 {
 17558                 {
 17557                     identifier_c N_param_name("N");
 17559                     symbol_c *N_param_name = (symbol_c *)(new identifier_c("N"));
 17558                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17560                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17559                     symbol_c *N_param_value = function_call_param_iterator.search_f(&N_param_name);
 17561                     symbol_c *N_param_value = function_call_param_iterator.search_f(N_param_name);
 17560                     symbol_c *N_type_symbol = NULL;
 17562                     symbol_c *N_type_symbol = NULL;
 17561                     
 17563                     
 17562                     /* Get the value from a foo(<param_value>) style call */
 17564                     /* Get the value from a foo(<param_value>) style call */
 17563                     if (N_param_value == NULL)
 17565                     if (N_param_value == NULL)
 17564                       N_param_value = function_call_param_iterator.next_nf();
 17566                       N_param_value = function_call_param_iterator.next_nf();
 17572                 
 17574                 
 17573                         function_name = (symbol_c*)(new pragma_c("__ror_"));
 17575                         function_name = (symbol_c*)(new pragma_c("__ror_"));
 17574                         
 17576                         
 17575                         if (IN_type_symbol == NULL)
 17577                         if (IN_type_symbol == NULL)
 17576                           IN_type_symbol = last_type_symbol;
 17578                           IN_type_symbol = last_type_symbol;
 17577                         ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17579                         ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17578                         
 17580                         
 17579                         if (N_type_symbol == NULL)
 17581                         if (N_type_symbol == NULL)
 17580                           N_type_symbol = last_type_symbol;
 17582                           N_type_symbol = last_type_symbol;
 17581                         ADD_PARAM_LIST(&N_param_name, N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17583                         ADD_PARAM_LIST(N_param_name, N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17582                         symbol_c * return_type_symbol = IN_type_symbol;
 17584                         symbol_c * return_type_symbol = IN_type_symbol;
 17583                         function_type_suffix = IN_type_symbol;
 17585                         function_type_suffix = IN_type_symbol;
 17584                         break;
 17586                         break;
 17585                         
 17587                         
 17586                     }
 17588                     }
 17604     case function_rol :
 17606     case function_rol :
 17605     {
 17607     {
 17606         symbol_c *last_type_symbol = NULL;
 17608         symbol_c *last_type_symbol = NULL;
 17607 
 17609 
 17608         {
 17610         {
 17609             identifier_c IN_param_name("IN");
 17611             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 17610             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17612             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17611             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 17613             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 17612             symbol_c *IN_type_symbol = NULL;
 17614             symbol_c *IN_type_symbol = NULL;
 17613             
 17615             
 17614             /* Get the value from a foo(<param_value>) style call */
 17616             /* Get the value from a foo(<param_value>) style call */
 17615             if (IN_param_value == NULL)
 17617             if (IN_param_value == NULL)
 17616               IN_param_value = function_call_param_iterator.next_nf();
 17618               IN_param_value = function_call_param_iterator.next_nf();
 17621             
 17623             
 17622             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
 17624             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
 17623             {
 17625             {
 17624         
 17626         
 17625                 {
 17627                 {
 17626                     identifier_c N_param_name("N");
 17628                     symbol_c *N_param_name = (symbol_c *)(new identifier_c("N"));
 17627                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17629                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17628                     symbol_c *N_param_value = function_call_param_iterator.search_f(&N_param_name);
 17630                     symbol_c *N_param_value = function_call_param_iterator.search_f(N_param_name);
 17629                     symbol_c *N_type_symbol = NULL;
 17631                     symbol_c *N_type_symbol = NULL;
 17630                     
 17632                     
 17631                     /* Get the value from a foo(<param_value>) style call */
 17633                     /* Get the value from a foo(<param_value>) style call */
 17632                     if (N_param_value == NULL)
 17634                     if (N_param_value == NULL)
 17633                       N_param_value = function_call_param_iterator.next_nf();
 17635                       N_param_value = function_call_param_iterator.next_nf();
 17641                 
 17643                 
 17642                         function_name = (symbol_c*)(new pragma_c("__rol_"));
 17644                         function_name = (symbol_c*)(new pragma_c("__rol_"));
 17643                         
 17645                         
 17644                         if (IN_type_symbol == NULL)
 17646                         if (IN_type_symbol == NULL)
 17645                           IN_type_symbol = last_type_symbol;
 17647                           IN_type_symbol = last_type_symbol;
 17646                         ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17648                         ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17647                         
 17649                         
 17648                         if (N_type_symbol == NULL)
 17650                         if (N_type_symbol == NULL)
 17649                           N_type_symbol = last_type_symbol;
 17651                           N_type_symbol = last_type_symbol;
 17650                         ADD_PARAM_LIST(&N_param_name, N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17652                         ADD_PARAM_LIST(N_param_name, N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17651                         symbol_c * return_type_symbol = IN_type_symbol;
 17653                         symbol_c * return_type_symbol = IN_type_symbol;
 17652                         function_type_suffix = IN_type_symbol;
 17654                         function_type_suffix = IN_type_symbol;
 17653                         break;
 17655                         break;
 17654                         
 17656                         
 17655                     }
 17657                     }
 17673     case function_and :
 17675     case function_and :
 17674     {
 17676     {
 17675         symbol_c *last_type_symbol = NULL;
 17677         symbol_c *last_type_symbol = NULL;
 17676 
 17678 
 17677         {
 17679         {
 17678             identifier_c IN1_param_name("IN1");
 17680             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 17679             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17681             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17680             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 17682             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 17681             symbol_c *IN1_type_symbol = NULL;
 17683             symbol_c *IN1_type_symbol = NULL;
 17682             
 17684             
 17683             /* Get the value from a foo(<param_value>) style call */
 17685             /* Get the value from a foo(<param_value>) style call */
 17684             if (IN1_param_value == NULL)
 17686             if (IN1_param_value == NULL)
 17685               IN1_param_value = function_call_param_iterator.next_nf();
 17687               IN1_param_value = function_call_param_iterator.next_nf();
 17690             
 17692             
 17691             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 17693             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 17692             {
 17694             {
 17693         
 17695         
 17694                 {
 17696                 {
 17695                     identifier_c IN2_param_name("IN2");
 17697                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 17696                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17698                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17697                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17699                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 17698                     symbol_c *IN2_type_symbol = NULL;
 17700                     symbol_c *IN2_type_symbol = NULL;
 17699                     
 17701                     
 17700                     /* Get the value from a foo(<param_value>) style call */
 17702                     /* Get the value from a foo(<param_value>) style call */
 17701                     if (IN2_param_value == NULL)
 17703                     if (IN2_param_value == NULL)
 17702                       IN2_param_value = function_call_param_iterator.next_nf();
 17704                       IN2_param_value = function_call_param_iterator.next_nf();
 17712                         
 17714                         
 17713                         if (nb_param < 2)
 17715                         if (nb_param < 2)
 17714                           nb_param = 2;
 17716                           nb_param = 2;
 17715                         char* nb_param_str = new char[10];
 17717                         char* nb_param_str = new char[10];
 17716                         sprintf(nb_param_str, "%d", nb_param);
 17718                         sprintf(nb_param_str, "%d", nb_param);
 17717                         identifier_c nb_param_name("nb_param");
 17719                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 17718                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 17720                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 17719                         
 17721                         
 17720                         if (IN1_type_symbol == NULL)
 17722                         if (IN1_type_symbol == NULL)
 17721                           IN1_type_symbol = last_type_symbol;
 17723                           IN1_type_symbol = last_type_symbol;
 17722                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17724                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17723                         
 17725                         
 17724                         if (IN2_type_symbol == NULL)
 17726                         if (IN2_type_symbol == NULL)
 17725                           IN2_type_symbol = last_type_symbol;
 17727                           IN2_type_symbol = last_type_symbol;
 17726                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17728                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17727                         
 17729                         
 17728                         int base_num = 3;
 17730                         int base_num = 3;
 17729                         symbol_c *param_value = NULL;
 17731                         symbol_c *param_value = NULL;
       
 17732                         symbol_c *param_name = NULL;
 17730                         do{
 17733                         do{
 17731                             char my_name[10];
 17734                             char my_name[10];
 17732                             sprintf(my_name, "IN%d", base_num++);
 17735                             sprintf(my_name, "IN%d", base_num++);
 17733                             identifier_c param_name(my_name);
 17736                             param_name = (symbol_c*)(new identifier_c(my_name));
 17734                             
 17737                             
 17735                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17738                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17736                             param_value = function_call_param_iterator.search_f(&param_name);
 17739                             param_value = function_call_param_iterator.search_f(param_name);
 17737                             
 17740                             
 17738                             /* Get the value from a foo(<param_value>) style call */
 17741                             /* Get the value from a foo(<param_value>) style call */
 17739                             if (param_value == NULL)
 17742                             if (param_value == NULL)
 17740                               param_value = function_call_param_iterator.next_nf();
 17743                               param_value = function_call_param_iterator.next_nf();
 17741                             if (param_value != NULL){
 17744                             if (param_value != NULL){
 17742                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 17745                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 17743                                 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 ;
 17746                                 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 ;
 17744                             
 17747                             
 17745                                 /*Function specific CODE */
 17748                                 /*Function specific CODE */
 17746                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 17749                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 17747                             }
 17750                             }
 17748                             
 17751                             
 17749                         }while(param_value != NULL);
 17752                         }while(param_value != NULL);
 17750                         symbol_c * return_type_symbol = last_type_symbol;
 17753                         symbol_c * return_type_symbol = last_type_symbol;
 17751                         function_type_suffix = return_type_symbol;
 17754                         function_type_suffix = return_type_symbol;
 17772     case function_or :
 17775     case function_or :
 17773     {
 17776     {
 17774         symbol_c *last_type_symbol = NULL;
 17777         symbol_c *last_type_symbol = NULL;
 17775 
 17778 
 17776         {
 17779         {
 17777             identifier_c IN1_param_name("IN1");
 17780             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 17778             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17781             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17779             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 17782             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 17780             symbol_c *IN1_type_symbol = NULL;
 17783             symbol_c *IN1_type_symbol = NULL;
 17781             
 17784             
 17782             /* Get the value from a foo(<param_value>) style call */
 17785             /* Get the value from a foo(<param_value>) style call */
 17783             if (IN1_param_value == NULL)
 17786             if (IN1_param_value == NULL)
 17784               IN1_param_value = function_call_param_iterator.next_nf();
 17787               IN1_param_value = function_call_param_iterator.next_nf();
 17789             
 17792             
 17790             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 17793             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 17791             {
 17794             {
 17792         
 17795         
 17793                 {
 17796                 {
 17794                     identifier_c IN2_param_name("IN2");
 17797                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 17795                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17798                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17796                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17799                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 17797                     symbol_c *IN2_type_symbol = NULL;
 17800                     symbol_c *IN2_type_symbol = NULL;
 17798                     
 17801                     
 17799                     /* Get the value from a foo(<param_value>) style call */
 17802                     /* Get the value from a foo(<param_value>) style call */
 17800                     if (IN2_param_value == NULL)
 17803                     if (IN2_param_value == NULL)
 17801                       IN2_param_value = function_call_param_iterator.next_nf();
 17804                       IN2_param_value = function_call_param_iterator.next_nf();
 17811                         
 17814                         
 17812                         if (nb_param < 2)
 17815                         if (nb_param < 2)
 17813                           nb_param = 2;
 17816                           nb_param = 2;
 17814                         char* nb_param_str = new char[10];
 17817                         char* nb_param_str = new char[10];
 17815                         sprintf(nb_param_str, "%d", nb_param);
 17818                         sprintf(nb_param_str, "%d", nb_param);
 17816                         identifier_c nb_param_name("nb_param");
 17819                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 17817                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 17820                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 17818                         
 17821                         
 17819                         if (IN1_type_symbol == NULL)
 17822                         if (IN1_type_symbol == NULL)
 17820                           IN1_type_symbol = last_type_symbol;
 17823                           IN1_type_symbol = last_type_symbol;
 17821                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17824                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17822                         
 17825                         
 17823                         if (IN2_type_symbol == NULL)
 17826                         if (IN2_type_symbol == NULL)
 17824                           IN2_type_symbol = last_type_symbol;
 17827                           IN2_type_symbol = last_type_symbol;
 17825                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17828                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17826                         
 17829                         
 17827                         int base_num = 3;
 17830                         int base_num = 3;
 17828                         symbol_c *param_value = NULL;
 17831                         symbol_c *param_value = NULL;
       
 17832                         symbol_c *param_name = NULL;
 17829                         do{
 17833                         do{
 17830                             char my_name[10];
 17834                             char my_name[10];
 17831                             sprintf(my_name, "IN%d", base_num++);
 17835                             sprintf(my_name, "IN%d", base_num++);
 17832                             identifier_c param_name(my_name);
 17836                             param_name = (symbol_c*)(new identifier_c(my_name));
 17833                             
 17837                             
 17834                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17838                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17835                             param_value = function_call_param_iterator.search_f(&param_name);
 17839                             param_value = function_call_param_iterator.search_f(param_name);
 17836                             
 17840                             
 17837                             /* Get the value from a foo(<param_value>) style call */
 17841                             /* Get the value from a foo(<param_value>) style call */
 17838                             if (param_value == NULL)
 17842                             if (param_value == NULL)
 17839                               param_value = function_call_param_iterator.next_nf();
 17843                               param_value = function_call_param_iterator.next_nf();
 17840                             if (param_value != NULL){
 17844                             if (param_value != NULL){
 17841                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 17845                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 17842                                 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 ;
 17846                                 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 ;
 17843                             
 17847                             
 17844                                 /*Function specific CODE */
 17848                                 /*Function specific CODE */
 17845                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 17849                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 17846                             }
 17850                             }
 17847                             
 17851                             
 17848                         }while(param_value != NULL);
 17852                         }while(param_value != NULL);
 17849                         symbol_c * return_type_symbol = last_type_symbol;
 17853                         symbol_c * return_type_symbol = last_type_symbol;
 17850                         function_type_suffix = return_type_symbol;
 17854                         function_type_suffix = return_type_symbol;
 17871     case function_xor :
 17875     case function_xor :
 17872     {
 17876     {
 17873         symbol_c *last_type_symbol = NULL;
 17877         symbol_c *last_type_symbol = NULL;
 17874 
 17878 
 17875         {
 17879         {
 17876             identifier_c IN1_param_name("IN1");
 17880             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 17877             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17881             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17878             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 17882             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 17879             symbol_c *IN1_type_symbol = NULL;
 17883             symbol_c *IN1_type_symbol = NULL;
 17880             
 17884             
 17881             /* Get the value from a foo(<param_value>) style call */
 17885             /* Get the value from a foo(<param_value>) style call */
 17882             if (IN1_param_value == NULL)
 17886             if (IN1_param_value == NULL)
 17883               IN1_param_value = function_call_param_iterator.next_nf();
 17887               IN1_param_value = function_call_param_iterator.next_nf();
 17888             
 17892             
 17889             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 17893             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 17890             {
 17894             {
 17891         
 17895         
 17892                 {
 17896                 {
 17893                     identifier_c IN2_param_name("IN2");
 17897                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 17894                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17898                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17895                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17899                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 17896                     symbol_c *IN2_type_symbol = NULL;
 17900                     symbol_c *IN2_type_symbol = NULL;
 17897                     
 17901                     
 17898                     /* Get the value from a foo(<param_value>) style call */
 17902                     /* Get the value from a foo(<param_value>) style call */
 17899                     if (IN2_param_value == NULL)
 17903                     if (IN2_param_value == NULL)
 17900                       IN2_param_value = function_call_param_iterator.next_nf();
 17904                       IN2_param_value = function_call_param_iterator.next_nf();
 17910                         
 17914                         
 17911                         if (nb_param < 2)
 17915                         if (nb_param < 2)
 17912                           nb_param = 2;
 17916                           nb_param = 2;
 17913                         char* nb_param_str = new char[10];
 17917                         char* nb_param_str = new char[10];
 17914                         sprintf(nb_param_str, "%d", nb_param);
 17918                         sprintf(nb_param_str, "%d", nb_param);
 17915                         identifier_c nb_param_name("nb_param");
 17919                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 17916                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 17920                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 17917                         
 17921                         
 17918                         if (IN1_type_symbol == NULL)
 17922                         if (IN1_type_symbol == NULL)
 17919                           IN1_type_symbol = last_type_symbol;
 17923                           IN1_type_symbol = last_type_symbol;
 17920                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17924                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17921                         
 17925                         
 17922                         if (IN2_type_symbol == NULL)
 17926                         if (IN2_type_symbol == NULL)
 17923                           IN2_type_symbol = last_type_symbol;
 17927                           IN2_type_symbol = last_type_symbol;
 17924                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17928                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17925                         
 17929                         
 17926                         int base_num = 3;
 17930                         int base_num = 3;
 17927                         symbol_c *param_value = NULL;
 17931                         symbol_c *param_value = NULL;
       
 17932                         symbol_c *param_name = NULL;
 17928                         do{
 17933                         do{
 17929                             char my_name[10];
 17934                             char my_name[10];
 17930                             sprintf(my_name, "IN%d", base_num++);
 17935                             sprintf(my_name, "IN%d", base_num++);
 17931                             identifier_c param_name(my_name);
 17936                             param_name = (symbol_c*)(new identifier_c(my_name));
 17932                             
 17937                             
 17933                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17938                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17934                             param_value = function_call_param_iterator.search_f(&param_name);
 17939                             param_value = function_call_param_iterator.search_f(param_name);
 17935                             
 17940                             
 17936                             /* Get the value from a foo(<param_value>) style call */
 17941                             /* Get the value from a foo(<param_value>) style call */
 17937                             if (param_value == NULL)
 17942                             if (param_value == NULL)
 17938                               param_value = function_call_param_iterator.next_nf();
 17943                               param_value = function_call_param_iterator.next_nf();
 17939                             if (param_value != NULL){
 17944                             if (param_value != NULL){
 17940                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 17945                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 17941                                 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 ;
 17946                                 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 ;
 17942                             
 17947                             
 17943                                 /*Function specific CODE */
 17948                                 /*Function specific CODE */
 17944                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 17949                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 17945                             }
 17950                             }
 17946                             
 17951                             
 17947                         }while(param_value != NULL);
 17952                         }while(param_value != NULL);
 17948                         symbol_c * return_type_symbol = last_type_symbol;
 17953                         symbol_c * return_type_symbol = last_type_symbol;
 17949                         function_type_suffix = return_type_symbol;
 17954                         function_type_suffix = return_type_symbol;
 17970     case function_not :
 17975     case function_not :
 17971     {
 17976     {
 17972         symbol_c *last_type_symbol = NULL;
 17977         symbol_c *last_type_symbol = NULL;
 17973 
 17978 
 17974         {
 17979         {
 17975             identifier_c IN_param_name("IN");
 17980             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 17976             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17981             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17977             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 17982             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 17978             symbol_c *IN_type_symbol = NULL;
 17983             symbol_c *IN_type_symbol = NULL;
 17979             
 17984             
 17980             /* Get the value from a foo(<param_value>) style call */
 17985             /* Get the value from a foo(<param_value>) style call */
 17981             if (IN_param_value == NULL)
 17986             if (IN_param_value == NULL)
 17982               IN_param_value = function_call_param_iterator.next_nf();
 17987               IN_param_value = function_call_param_iterator.next_nf();
 17990         
 17995         
 17991                 function_name = (symbol_c*)(new pragma_c("__not_"));
 17996                 function_name = (symbol_c*)(new pragma_c("__not_"));
 17992                 
 17997                 
 17993                 if (IN_type_symbol == NULL)
 17998                 if (IN_type_symbol == NULL)
 17994                   IN_type_symbol = last_type_symbol;
 17999                   IN_type_symbol = last_type_symbol;
 17995                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 18000                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17996                 symbol_c * return_type_symbol = IN_type_symbol;
 18001                 symbol_c * return_type_symbol = IN_type_symbol;
 17997                 function_type_suffix = return_type_symbol;
 18002                 function_type_suffix = return_type_symbol;
 17998                 if (search_expression_type->is_literal_integer_type(function_type_suffix))
 18003                 if (search_expression_type->is_literal_integer_type(function_type_suffix))
 17999                     function_type_suffix = &search_constant_type_c::lword_type_name;
 18004                     function_type_suffix = &search_constant_type_c::lword_type_name;
 18000                 break;
 18005                 break;
 18014     case function_sel :
 18019     case function_sel :
 18015     {
 18020     {
 18016         symbol_c *last_type_symbol = NULL;
 18021         symbol_c *last_type_symbol = NULL;
 18017 
 18022 
 18018         {
 18023         {
 18019             identifier_c G_param_name("G");
 18024             symbol_c *G_param_name = (symbol_c *)(new identifier_c("G"));
 18020             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18025             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18021             symbol_c *G_param_value = function_call_param_iterator.search_f(&G_param_name);
 18026             symbol_c *G_param_value = function_call_param_iterator.search_f(G_param_name);
 18022             symbol_c *G_type_symbol = NULL;
 18027             symbol_c *G_type_symbol = NULL;
 18023             
 18028             
 18024             /* Get the value from a foo(<param_value>) style call */
 18029             /* Get the value from a foo(<param_value>) style call */
 18025             if (G_param_value == NULL)
 18030             if (G_param_value == NULL)
 18026               G_param_value = function_call_param_iterator.next_nf();
 18031               G_param_value = function_call_param_iterator.next_nf();
 18031             
 18036             
 18032             if(G_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 18037             if(G_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 18033             {
 18038             {
 18034         
 18039         
 18035                 {
 18040                 {
 18036                     identifier_c IN0_param_name("IN0");
 18041                     symbol_c *IN0_param_name = (symbol_c *)(new identifier_c("IN0"));
 18037                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18042                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18038                     symbol_c *IN0_param_value = function_call_param_iterator.search_f(&IN0_param_name);
 18043                     symbol_c *IN0_param_value = function_call_param_iterator.search_f(IN0_param_name);
 18039                     symbol_c *IN0_type_symbol = NULL;
 18044                     symbol_c *IN0_type_symbol = NULL;
 18040                     
 18045                     
 18041                     /* Get the value from a foo(<param_value>) style call */
 18046                     /* Get the value from a foo(<param_value>) style call */
 18042                     if (IN0_param_value == NULL)
 18047                     if (IN0_param_value == NULL)
 18043                       IN0_param_value = function_call_param_iterator.next_nf();
 18048                       IN0_param_value = function_call_param_iterator.next_nf();
 18048                     
 18053                     
 18049                     
 18054                     
 18050                     {
 18055                     {
 18051                 
 18056                 
 18052                         {
 18057                         {
 18053                             identifier_c IN1_param_name("IN1");
 18058                             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 18054                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18059                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18055                             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18060                             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 18056                             symbol_c *IN1_type_symbol = NULL;
 18061                             symbol_c *IN1_type_symbol = NULL;
 18057                             
 18062                             
 18058                             /* Get the value from a foo(<param_value>) style call */
 18063                             /* Get the value from a foo(<param_value>) style call */
 18059                             if (IN1_param_value == NULL)
 18064                             if (IN1_param_value == NULL)
 18060                               IN1_param_value = function_call_param_iterator.next_nf();
 18065                               IN1_param_value = function_call_param_iterator.next_nf();
 18068                         
 18073                         
 18069                                 function_name = (symbol_c*)(new pragma_c("__sel_"));
 18074                                 function_name = (symbol_c*)(new pragma_c("__sel_"));
 18070                                 
 18075                                 
 18071                                 if (G_type_symbol == NULL)
 18076                                 if (G_type_symbol == NULL)
 18072                                   G_type_symbol = last_type_symbol;
 18077                                   G_type_symbol = last_type_symbol;
 18073                                 ADD_PARAM_LIST(&G_param_name, G_param_value, G_type_symbol, function_param_iterator_c::direction_in)
 18078                                 ADD_PARAM_LIST(G_param_name, G_param_value, G_type_symbol, function_param_iterator_c::direction_in)
 18074                                 
 18079                                 
 18075                                 if (IN0_type_symbol == NULL)
 18080                                 if (IN0_type_symbol == NULL)
 18076                                   IN0_type_symbol = last_type_symbol;
 18081                                   IN0_type_symbol = last_type_symbol;
 18077                                 ADD_PARAM_LIST(&IN0_param_name, IN0_param_value, IN0_type_symbol, function_param_iterator_c::direction_in)
 18082                                 ADD_PARAM_LIST(IN0_param_name, IN0_param_value, IN0_type_symbol, function_param_iterator_c::direction_in)
 18078                                 
 18083                                 
 18079                                 if (IN1_type_symbol == NULL)
 18084                                 if (IN1_type_symbol == NULL)
 18080                                   IN1_type_symbol = last_type_symbol;
 18085                                   IN1_type_symbol = last_type_symbol;
 18081                                 ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18086                                 ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18082                                 symbol_c * return_type_symbol = last_type_symbol;
 18087                                 symbol_c * return_type_symbol = last_type_symbol;
 18083                                 function_type_suffix = IN0_type_symbol;
 18088                                 function_type_suffix = IN0_type_symbol;
 18084                                 break;
 18089                                 break;
 18085                                 
 18090                                 
 18086                             }
 18091                             }
 18110     case function_max :
 18115     case function_max :
 18111     {
 18116     {
 18112         symbol_c *last_type_symbol = NULL;
 18117         symbol_c *last_type_symbol = NULL;
 18113 
 18118 
 18114         {
 18119         {
 18115             identifier_c IN1_param_name("IN1");
 18120             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 18116             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18121             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18117             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18122             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 18118             symbol_c *IN1_type_symbol = NULL;
 18123             symbol_c *IN1_type_symbol = NULL;
 18119             
 18124             
 18120             /* Get the value from a foo(<param_value>) style call */
 18125             /* Get the value from a foo(<param_value>) style call */
 18121             if (IN1_param_value == NULL)
 18126             if (IN1_param_value == NULL)
 18122               IN1_param_value = function_call_param_iterator.next_nf();
 18127               IN1_param_value = function_call_param_iterator.next_nf();
 18127             
 18132             
 18128             
 18133             
 18129             {
 18134             {
 18130         
 18135         
 18131                 {
 18136                 {
 18132                     identifier_c IN2_param_name("IN2");
 18137                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 18133                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18138                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18134                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18139                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 18135                     symbol_c *IN2_type_symbol = NULL;
 18140                     symbol_c *IN2_type_symbol = NULL;
 18136                     
 18141                     
 18137                     /* Get the value from a foo(<param_value>) style call */
 18142                     /* Get the value from a foo(<param_value>) style call */
 18138                     if (IN2_param_value == NULL)
 18143                     if (IN2_param_value == NULL)
 18139                       IN2_param_value = function_call_param_iterator.next_nf();
 18144                       IN2_param_value = function_call_param_iterator.next_nf();
 18149                         
 18154                         
 18150                         if (nb_param < 2)
 18155                         if (nb_param < 2)
 18151                           nb_param = 2;
 18156                           nb_param = 2;
 18152                         char* nb_param_str = new char[10];
 18157                         char* nb_param_str = new char[10];
 18153                         sprintf(nb_param_str, "%d", nb_param);
 18158                         sprintf(nb_param_str, "%d", nb_param);
 18154                         identifier_c nb_param_name("nb_param");
 18159                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 18155                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18160                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18156                         
 18161                         
 18157                         if (IN1_type_symbol == NULL)
 18162                         if (IN1_type_symbol == NULL)
 18158                           IN1_type_symbol = last_type_symbol;
 18163                           IN1_type_symbol = last_type_symbol;
 18159                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18164                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18160                         
 18165                         
 18161                         if (IN2_type_symbol == NULL)
 18166                         if (IN2_type_symbol == NULL)
 18162                           IN2_type_symbol = last_type_symbol;
 18167                           IN2_type_symbol = last_type_symbol;
 18163                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18168                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18164                         
 18169                         
 18165                         int base_num = 3;
 18170                         int base_num = 3;
 18166                         symbol_c *param_value = NULL;
 18171                         symbol_c *param_value = NULL;
       
 18172                         symbol_c *param_name = NULL;
 18167                         do{
 18173                         do{
 18168                             char my_name[10];
 18174                             char my_name[10];
 18169                             sprintf(my_name, "IN%d", base_num++);
 18175                             sprintf(my_name, "IN%d", base_num++);
 18170                             identifier_c param_name(my_name);
 18176                             param_name = (symbol_c*)(new identifier_c(my_name));
 18171                             
 18177                             
 18172                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18178                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18173                             param_value = function_call_param_iterator.search_f(&param_name);
 18179                             param_value = function_call_param_iterator.search_f(param_name);
 18174                             
 18180                             
 18175                             /* Get the value from a foo(<param_value>) style call */
 18181                             /* Get the value from a foo(<param_value>) style call */
 18176                             if (param_value == NULL)
 18182                             if (param_value == NULL)
 18177                               param_value = function_call_param_iterator.next_nf();
 18183                               param_value = function_call_param_iterator.next_nf();
 18178                             if (param_value != NULL){
 18184                             if (param_value != NULL){
 18179                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18185                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18180                                 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 ;
 18186                                 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 ;
 18181                             
 18187                             
 18182                                 /*Function specific CODE */
 18188                                 /*Function specific CODE */
 18183                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18189                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18184                             }
 18190                             }
 18185                             
 18191                             
 18186                         }while(param_value != NULL);
 18192                         }while(param_value != NULL);
 18187                         symbol_c * return_type_symbol = last_type_symbol;
 18193                         symbol_c * return_type_symbol = last_type_symbol;
 18188                         function_type_suffix = return_type_symbol;
 18194                         function_type_suffix = return_type_symbol;
 18209     case function_min :
 18215     case function_min :
 18210     {
 18216     {
 18211         symbol_c *last_type_symbol = NULL;
 18217         symbol_c *last_type_symbol = NULL;
 18212 
 18218 
 18213         {
 18219         {
 18214             identifier_c IN1_param_name("IN1");
 18220             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 18215             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18221             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18216             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18222             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 18217             symbol_c *IN1_type_symbol = NULL;
 18223             symbol_c *IN1_type_symbol = NULL;
 18218             
 18224             
 18219             /* Get the value from a foo(<param_value>) style call */
 18225             /* Get the value from a foo(<param_value>) style call */
 18220             if (IN1_param_value == NULL)
 18226             if (IN1_param_value == NULL)
 18221               IN1_param_value = function_call_param_iterator.next_nf();
 18227               IN1_param_value = function_call_param_iterator.next_nf();
 18226             
 18232             
 18227             
 18233             
 18228             {
 18234             {
 18229         
 18235         
 18230                 {
 18236                 {
 18231                     identifier_c IN2_param_name("IN2");
 18237                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 18232                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18238                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18233                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18239                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 18234                     symbol_c *IN2_type_symbol = NULL;
 18240                     symbol_c *IN2_type_symbol = NULL;
 18235                     
 18241                     
 18236                     /* Get the value from a foo(<param_value>) style call */
 18242                     /* Get the value from a foo(<param_value>) style call */
 18237                     if (IN2_param_value == NULL)
 18243                     if (IN2_param_value == NULL)
 18238                       IN2_param_value = function_call_param_iterator.next_nf();
 18244                       IN2_param_value = function_call_param_iterator.next_nf();
 18248                         
 18254                         
 18249                         if (nb_param < 2)
 18255                         if (nb_param < 2)
 18250                           nb_param = 2;
 18256                           nb_param = 2;
 18251                         char* nb_param_str = new char[10];
 18257                         char* nb_param_str = new char[10];
 18252                         sprintf(nb_param_str, "%d", nb_param);
 18258                         sprintf(nb_param_str, "%d", nb_param);
 18253                         identifier_c nb_param_name("nb_param");
 18259                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 18254                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18260                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18255                         
 18261                         
 18256                         if (IN1_type_symbol == NULL)
 18262                         if (IN1_type_symbol == NULL)
 18257                           IN1_type_symbol = last_type_symbol;
 18263                           IN1_type_symbol = last_type_symbol;
 18258                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18264                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18259                         
 18265                         
 18260                         if (IN2_type_symbol == NULL)
 18266                         if (IN2_type_symbol == NULL)
 18261                           IN2_type_symbol = last_type_symbol;
 18267                           IN2_type_symbol = last_type_symbol;
 18262                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18268                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18263                         
 18269                         
 18264                         int base_num = 3;
 18270                         int base_num = 3;
 18265                         symbol_c *param_value = NULL;
 18271                         symbol_c *param_value = NULL;
       
 18272                         symbol_c *param_name = NULL;
 18266                         do{
 18273                         do{
 18267                             char my_name[10];
 18274                             char my_name[10];
 18268                             sprintf(my_name, "IN%d", base_num++);
 18275                             sprintf(my_name, "IN%d", base_num++);
 18269                             identifier_c param_name(my_name);
 18276                             param_name = (symbol_c*)(new identifier_c(my_name));
 18270                             
 18277                             
 18271                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18278                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18272                             param_value = function_call_param_iterator.search_f(&param_name);
 18279                             param_value = function_call_param_iterator.search_f(param_name);
 18273                             
 18280                             
 18274                             /* Get the value from a foo(<param_value>) style call */
 18281                             /* Get the value from a foo(<param_value>) style call */
 18275                             if (param_value == NULL)
 18282                             if (param_value == NULL)
 18276                               param_value = function_call_param_iterator.next_nf();
 18283                               param_value = function_call_param_iterator.next_nf();
 18277                             if (param_value != NULL){
 18284                             if (param_value != NULL){
 18278                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18285                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18279                                 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 ;
 18286                                 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 ;
 18280                             
 18287                             
 18281                                 /*Function specific CODE */
 18288                                 /*Function specific CODE */
 18282                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18289                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18283                             }
 18290                             }
 18284                             
 18291                             
 18285                         }while(param_value != NULL);
 18292                         }while(param_value != NULL);
 18286                         symbol_c * return_type_symbol = last_type_symbol;
 18293                         symbol_c * return_type_symbol = last_type_symbol;
 18287                         function_type_suffix = return_type_symbol;
 18294                         function_type_suffix = return_type_symbol;
 18308     case function_limit :
 18315     case function_limit :
 18309     {
 18316     {
 18310         symbol_c *last_type_symbol = NULL;
 18317         symbol_c *last_type_symbol = NULL;
 18311 
 18318 
 18312         {
 18319         {
 18313             identifier_c MN_param_name("MN");
 18320             symbol_c *MN_param_name = (symbol_c *)(new identifier_c("MN"));
 18314             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18321             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18315             symbol_c *MN_param_value = function_call_param_iterator.search_f(&MN_param_name);
 18322             symbol_c *MN_param_value = function_call_param_iterator.search_f(MN_param_name);
 18316             symbol_c *MN_type_symbol = NULL;
 18323             symbol_c *MN_type_symbol = NULL;
 18317             
 18324             
 18318             /* Get the value from a foo(<param_value>) style call */
 18325             /* Get the value from a foo(<param_value>) style call */
 18319             if (MN_param_value == NULL)
 18326             if (MN_param_value == NULL)
 18320               MN_param_value = function_call_param_iterator.next_nf();
 18327               MN_param_value = function_call_param_iterator.next_nf();
 18325             
 18332             
 18326             
 18333             
 18327             {
 18334             {
 18328         
 18335         
 18329                 {
 18336                 {
 18330                     identifier_c IN_param_name("IN");
 18337                     symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 18331                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18338                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18332                     symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 18339                     symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 18333                     symbol_c *IN_type_symbol = NULL;
 18340                     symbol_c *IN_type_symbol = NULL;
 18334                     
 18341                     
 18335                     /* Get the value from a foo(<param_value>) style call */
 18342                     /* Get the value from a foo(<param_value>) style call */
 18336                     if (IN_param_value == NULL)
 18343                     if (IN_param_value == NULL)
 18337                       IN_param_value = function_call_param_iterator.next_nf();
 18344                       IN_param_value = function_call_param_iterator.next_nf();
 18342                     
 18349                     
 18343                     
 18350                     
 18344                     {
 18351                     {
 18345                 
 18352                 
 18346                         {
 18353                         {
 18347                             identifier_c MX_param_name("MX");
 18354                             symbol_c *MX_param_name = (symbol_c *)(new identifier_c("MX"));
 18348                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18355                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18349                             symbol_c *MX_param_value = function_call_param_iterator.search_f(&MX_param_name);
 18356                             symbol_c *MX_param_value = function_call_param_iterator.search_f(MX_param_name);
 18350                             symbol_c *MX_type_symbol = NULL;
 18357                             symbol_c *MX_type_symbol = NULL;
 18351                             
 18358                             
 18352                             /* Get the value from a foo(<param_value>) style call */
 18359                             /* Get the value from a foo(<param_value>) style call */
 18353                             if (MX_param_value == NULL)
 18360                             if (MX_param_value == NULL)
 18354                               MX_param_value = function_call_param_iterator.next_nf();
 18361                               MX_param_value = function_call_param_iterator.next_nf();
 18362                         
 18369                         
 18363                                 function_name = (symbol_c*)(new pragma_c("__limit_"));
 18370                                 function_name = (symbol_c*)(new pragma_c("__limit_"));
 18364                                 
 18371                                 
 18365                                 if (MN_type_symbol == NULL)
 18372                                 if (MN_type_symbol == NULL)
 18366                                   MN_type_symbol = last_type_symbol;
 18373                                   MN_type_symbol = last_type_symbol;
 18367                                 ADD_PARAM_LIST(&MN_param_name, MN_param_value, MN_type_symbol, function_param_iterator_c::direction_in)
 18374                                 ADD_PARAM_LIST(MN_param_name, MN_param_value, MN_type_symbol, function_param_iterator_c::direction_in)
 18368                                 
 18375                                 
 18369                                 if (IN_type_symbol == NULL)
 18376                                 if (IN_type_symbol == NULL)
 18370                                   IN_type_symbol = last_type_symbol;
 18377                                   IN_type_symbol = last_type_symbol;
 18371                                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 18378                                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 18372                                 
 18379                                 
 18373                                 if (MX_type_symbol == NULL)
 18380                                 if (MX_type_symbol == NULL)
 18374                                   MX_type_symbol = last_type_symbol;
 18381                                   MX_type_symbol = last_type_symbol;
 18375                                 ADD_PARAM_LIST(&MX_param_name, MX_param_value, MX_type_symbol, function_param_iterator_c::direction_in)
 18382                                 ADD_PARAM_LIST(MX_param_name, MX_param_value, MX_type_symbol, function_param_iterator_c::direction_in)
 18376                                 symbol_c * return_type_symbol = IN_type_symbol;
 18383                                 symbol_c * return_type_symbol = IN_type_symbol;
 18377                                 function_type_suffix = IN_type_symbol;
 18384                                 function_type_suffix = IN_type_symbol;
 18378                                 if (search_expression_type->is_literal_integer_type(function_type_suffix))
 18385                                 if (search_expression_type->is_literal_integer_type(function_type_suffix))
 18379                                     function_type_suffix = &search_constant_type_c::lint_type_name;
 18386                                     function_type_suffix = &search_constant_type_c::lint_type_name;
 18380                                 else if (search_expression_type->is_literal_real_type(function_type_suffix))
 18387                                 else if (search_expression_type->is_literal_real_type(function_type_suffix))
 18408     case function_mux :
 18415     case function_mux :
 18409     {
 18416     {
 18410         symbol_c *last_type_symbol = NULL;
 18417         symbol_c *last_type_symbol = NULL;
 18411 
 18418 
 18412         {
 18419         {
 18413             identifier_c K_param_name("K");
 18420             symbol_c *K_param_name = (symbol_c *)(new identifier_c("K"));
 18414             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18421             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18415             symbol_c *K_param_value = function_call_param_iterator.search_f(&K_param_name);
 18422             symbol_c *K_param_value = function_call_param_iterator.search_f(K_param_name);
 18416             symbol_c *K_type_symbol = NULL;
 18423             symbol_c *K_type_symbol = NULL;
 18417             
 18424             
 18418             /* Get the value from a foo(<param_value>) style call */
 18425             /* Get the value from a foo(<param_value>) style call */
 18419             if (K_param_value == NULL)
 18426             if (K_param_value == NULL)
 18420               K_param_value = function_call_param_iterator.next_nf();
 18427               K_param_value = function_call_param_iterator.next_nf();
 18425             
 18432             
 18426             if(K_type_symbol == NULL || search_expression_type->is_integer_type(K_type_symbol))
 18433             if(K_type_symbol == NULL || search_expression_type->is_integer_type(K_type_symbol))
 18427             {
 18434             {
 18428         
 18435         
 18429                 {
 18436                 {
 18430                     identifier_c IN0_param_name("IN0");
 18437                     symbol_c *IN0_param_name = (symbol_c *)(new identifier_c("IN0"));
 18431                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18438                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18432                     symbol_c *IN0_param_value = function_call_param_iterator.search_f(&IN0_param_name);
 18439                     symbol_c *IN0_param_value = function_call_param_iterator.search_f(IN0_param_name);
 18433                     symbol_c *IN0_type_symbol = NULL;
 18440                     symbol_c *IN0_type_symbol = NULL;
 18434                     
 18441                     
 18435                     /* Get the value from a foo(<param_value>) style call */
 18442                     /* Get the value from a foo(<param_value>) style call */
 18436                     if (IN0_param_value == NULL)
 18443                     if (IN0_param_value == NULL)
 18437                       IN0_param_value = function_call_param_iterator.next_nf();
 18444                       IN0_param_value = function_call_param_iterator.next_nf();
 18442                     
 18449                     
 18443                     
 18450                     
 18444                     {
 18451                     {
 18445                 
 18452                 
 18446                         {
 18453                         {
 18447                             identifier_c IN1_param_name("IN1");
 18454                             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 18448                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18455                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18449                             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18456                             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 18450                             symbol_c *IN1_type_symbol = NULL;
 18457                             symbol_c *IN1_type_symbol = NULL;
 18451                             
 18458                             
 18452                             /* Get the value from a foo(<param_value>) style call */
 18459                             /* Get the value from a foo(<param_value>) style call */
 18453                             if (IN1_param_value == NULL)
 18460                             if (IN1_param_value == NULL)
 18454                               IN1_param_value = function_call_param_iterator.next_nf();
 18461                               IN1_param_value = function_call_param_iterator.next_nf();
 18464                                 
 18471                                 
 18465                                 if (nb_param < 3)
 18472                                 if (nb_param < 3)
 18466                                   nb_param = 3;
 18473                                   nb_param = 3;
 18467                                 char* nb_param_str = new char[10];
 18474                                 char* nb_param_str = new char[10];
 18468                                 sprintf(nb_param_str, "%d", nb_param);
 18475                                 sprintf(nb_param_str, "%d", nb_param);
 18469                                 identifier_c nb_param_name("nb_param");
 18476                                 symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 18470                                 ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18477                                 ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18471                                 
 18478                                 
 18472                                 if (K_type_symbol == NULL)
 18479                                 if (K_type_symbol == NULL)
 18473                                   K_type_symbol = last_type_symbol;
 18480                                   K_type_symbol = last_type_symbol;
 18474                                 ADD_PARAM_LIST(&K_param_name, K_param_value, K_type_symbol, function_param_iterator_c::direction_in)
 18481                                 ADD_PARAM_LIST(K_param_name, K_param_value, K_type_symbol, function_param_iterator_c::direction_in)
 18475                                 
 18482                                 
 18476                                 if (IN0_type_symbol == NULL)
 18483                                 if (IN0_type_symbol == NULL)
 18477                                   IN0_type_symbol = last_type_symbol;
 18484                                   IN0_type_symbol = last_type_symbol;
 18478                                 ADD_PARAM_LIST(&IN0_param_name, IN0_param_value, IN0_type_symbol, function_param_iterator_c::direction_in)
 18485                                 ADD_PARAM_LIST(IN0_param_name, IN0_param_value, IN0_type_symbol, function_param_iterator_c::direction_in)
 18479                                 
 18486                                 
 18480                                 if (IN1_type_symbol == NULL)
 18487                                 if (IN1_type_symbol == NULL)
 18481                                   IN1_type_symbol = last_type_symbol;
 18488                                   IN1_type_symbol = last_type_symbol;
 18482                                 ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18489                                 ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18483                                 
 18490                                 
 18484                                 int base_num = 2;
 18491                                 int base_num = 2;
 18485                                 symbol_c *param_value = NULL;
 18492                                 symbol_c *param_value = NULL;
       
 18493                                 symbol_c *param_name = NULL;
 18486                                 do{
 18494                                 do{
 18487                                     char my_name[10];
 18495                                     char my_name[10];
 18488                                     sprintf(my_name, "IN%d", base_num++);
 18496                                     sprintf(my_name, "IN%d", base_num++);
 18489                                     identifier_c param_name(my_name);
 18497                                     param_name = (symbol_c*)(new identifier_c(my_name));
 18490                                     
 18498                                     
 18491                                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18499                                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18492                                     param_value = function_call_param_iterator.search_f(&param_name);
 18500                                     param_value = function_call_param_iterator.search_f(param_name);
 18493                                     
 18501                                     
 18494                                     /* Get the value from a foo(<param_value>) style call */
 18502                                     /* Get the value from a foo(<param_value>) style call */
 18495                                     if (param_value == NULL)
 18503                                     if (param_value == NULL)
 18496                                       param_value = function_call_param_iterator.next_nf();
 18504                                       param_value = function_call_param_iterator.next_nf();
 18497                                     if (param_value != NULL){
 18505                                     if (param_value != NULL){
 18498                                         symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18506                                         symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18499                                         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 ;
 18507                                         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 ;
 18500                                     
 18508                                     
 18501                                         /*Function specific CODE */
 18509                                         /*Function specific CODE */
 18502                                         ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18510                                         ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18503                                     }
 18511                                     }
 18504                                     
 18512                                     
 18505                                 }while(param_value != NULL);
 18513                                 }while(param_value != NULL);
 18506                                 symbol_c * return_type_symbol = last_type_symbol;
 18514                                 symbol_c * return_type_symbol = last_type_symbol;
 18507                                 function_type_suffix = return_type_symbol;
 18515                                 function_type_suffix = return_type_symbol;
 18534     case function_gt :
 18542     case function_gt :
 18535     {
 18543     {
 18536         symbol_c *last_type_symbol = NULL;
 18544         symbol_c *last_type_symbol = NULL;
 18537 
 18545 
 18538         {
 18546         {
 18539             identifier_c IN1_param_name("IN1");
 18547             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 18540             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18548             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18541             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18549             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 18542             symbol_c *IN1_type_symbol = NULL;
 18550             symbol_c *IN1_type_symbol = NULL;
 18543             
 18551             
 18544             /* Get the value from a foo(<param_value>) style call */
 18552             /* Get the value from a foo(<param_value>) style call */
 18545             if (IN1_param_value == NULL)
 18553             if (IN1_param_value == NULL)
 18546               IN1_param_value = function_call_param_iterator.next_nf();
 18554               IN1_param_value = function_call_param_iterator.next_nf();
 18551             
 18559             
 18552             
 18560             
 18553             {
 18561             {
 18554         
 18562         
 18555                 {
 18563                 {
 18556                     identifier_c IN2_param_name("IN2");
 18564                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 18557                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18565                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18558                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18566                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 18559                     symbol_c *IN2_type_symbol = NULL;
 18567                     symbol_c *IN2_type_symbol = NULL;
 18560                     
 18568                     
 18561                     /* Get the value from a foo(<param_value>) style call */
 18569                     /* Get the value from a foo(<param_value>) style call */
 18562                     if (IN2_param_value == NULL)
 18570                     if (IN2_param_value == NULL)
 18563                       IN2_param_value = function_call_param_iterator.next_nf();
 18571                       IN2_param_value = function_call_param_iterator.next_nf();
 18573                         
 18581                         
 18574                         if (nb_param < 2)
 18582                         if (nb_param < 2)
 18575                           nb_param = 2;
 18583                           nb_param = 2;
 18576                         char* nb_param_str = new char[10];
 18584                         char* nb_param_str = new char[10];
 18577                         sprintf(nb_param_str, "%d", nb_param);
 18585                         sprintf(nb_param_str, "%d", nb_param);
 18578                         identifier_c nb_param_name("nb_param");
 18586                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 18579                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18587                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18580                         
 18588                         
 18581                         if (IN1_type_symbol == NULL)
 18589                         if (IN1_type_symbol == NULL)
 18582                           IN1_type_symbol = last_type_symbol;
 18590                           IN1_type_symbol = last_type_symbol;
 18583                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18591                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18584                         
 18592                         
 18585                         if (IN2_type_symbol == NULL)
 18593                         if (IN2_type_symbol == NULL)
 18586                           IN2_type_symbol = last_type_symbol;
 18594                           IN2_type_symbol = last_type_symbol;
 18587                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18595                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18588                         
 18596                         
 18589                         int base_num = 3;
 18597                         int base_num = 3;
 18590                         symbol_c *param_value = NULL;
 18598                         symbol_c *param_value = NULL;
       
 18599                         symbol_c *param_name = NULL;
 18591                         do{
 18600                         do{
 18592                             char my_name[10];
 18601                             char my_name[10];
 18593                             sprintf(my_name, "IN%d", base_num++);
 18602                             sprintf(my_name, "IN%d", base_num++);
 18594                             identifier_c param_name(my_name);
 18603                             param_name = (symbol_c*)(new identifier_c(my_name));
 18595                             
 18604                             
 18596                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18605                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18597                             param_value = function_call_param_iterator.search_f(&param_name);
 18606                             param_value = function_call_param_iterator.search_f(param_name);
 18598                             
 18607                             
 18599                             /* Get the value from a foo(<param_value>) style call */
 18608                             /* Get the value from a foo(<param_value>) style call */
 18600                             if (param_value == NULL)
 18609                             if (param_value == NULL)
 18601                               param_value = function_call_param_iterator.next_nf();
 18610                               param_value = function_call_param_iterator.next_nf();
 18602                             if (param_value != NULL){
 18611                             if (param_value != NULL){
 18603                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18612                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18604                                 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 ;
 18613                                 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 ;
 18605                             
 18614                             
 18606                                 /*Function specific CODE */
 18615                                 /*Function specific CODE */
 18607                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18616                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18608                             }
 18617                             }
 18609                             
 18618                             
 18610                         }while(param_value != NULL);
 18619                         }while(param_value != NULL);
 18611                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18620                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18612                         function_type_suffix = last_type_symbol;
 18621                         function_type_suffix = last_type_symbol;
 18633     case function_ge :
 18642     case function_ge :
 18634     {
 18643     {
 18635         symbol_c *last_type_symbol = NULL;
 18644         symbol_c *last_type_symbol = NULL;
 18636 
 18645 
 18637         {
 18646         {
 18638             identifier_c IN1_param_name("IN1");
 18647             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 18639             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18648             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18640             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18649             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 18641             symbol_c *IN1_type_symbol = NULL;
 18650             symbol_c *IN1_type_symbol = NULL;
 18642             
 18651             
 18643             /* Get the value from a foo(<param_value>) style call */
 18652             /* Get the value from a foo(<param_value>) style call */
 18644             if (IN1_param_value == NULL)
 18653             if (IN1_param_value == NULL)
 18645               IN1_param_value = function_call_param_iterator.next_nf();
 18654               IN1_param_value = function_call_param_iterator.next_nf();
 18650             
 18659             
 18651             
 18660             
 18652             {
 18661             {
 18653         
 18662         
 18654                 {
 18663                 {
 18655                     identifier_c IN2_param_name("IN2");
 18664                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 18656                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18665                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18657                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18666                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 18658                     symbol_c *IN2_type_symbol = NULL;
 18667                     symbol_c *IN2_type_symbol = NULL;
 18659                     
 18668                     
 18660                     /* Get the value from a foo(<param_value>) style call */
 18669                     /* Get the value from a foo(<param_value>) style call */
 18661                     if (IN2_param_value == NULL)
 18670                     if (IN2_param_value == NULL)
 18662                       IN2_param_value = function_call_param_iterator.next_nf();
 18671                       IN2_param_value = function_call_param_iterator.next_nf();
 18672                         
 18681                         
 18673                         if (nb_param < 2)
 18682                         if (nb_param < 2)
 18674                           nb_param = 2;
 18683                           nb_param = 2;
 18675                         char* nb_param_str = new char[10];
 18684                         char* nb_param_str = new char[10];
 18676                         sprintf(nb_param_str, "%d", nb_param);
 18685                         sprintf(nb_param_str, "%d", nb_param);
 18677                         identifier_c nb_param_name("nb_param");
 18686                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 18678                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18687                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18679                         
 18688                         
 18680                         if (IN1_type_symbol == NULL)
 18689                         if (IN1_type_symbol == NULL)
 18681                           IN1_type_symbol = last_type_symbol;
 18690                           IN1_type_symbol = last_type_symbol;
 18682                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18691                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18683                         
 18692                         
 18684                         if (IN2_type_symbol == NULL)
 18693                         if (IN2_type_symbol == NULL)
 18685                           IN2_type_symbol = last_type_symbol;
 18694                           IN2_type_symbol = last_type_symbol;
 18686                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18695                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18687                         
 18696                         
 18688                         int base_num = 3;
 18697                         int base_num = 3;
 18689                         symbol_c *param_value = NULL;
 18698                         symbol_c *param_value = NULL;
       
 18699                         symbol_c *param_name = NULL;
 18690                         do{
 18700                         do{
 18691                             char my_name[10];
 18701                             char my_name[10];
 18692                             sprintf(my_name, "IN%d", base_num++);
 18702                             sprintf(my_name, "IN%d", base_num++);
 18693                             identifier_c param_name(my_name);
 18703                             param_name = (symbol_c*)(new identifier_c(my_name));
 18694                             
 18704                             
 18695                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18705                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18696                             param_value = function_call_param_iterator.search_f(&param_name);
 18706                             param_value = function_call_param_iterator.search_f(param_name);
 18697                             
 18707                             
 18698                             /* Get the value from a foo(<param_value>) style call */
 18708                             /* Get the value from a foo(<param_value>) style call */
 18699                             if (param_value == NULL)
 18709                             if (param_value == NULL)
 18700                               param_value = function_call_param_iterator.next_nf();
 18710                               param_value = function_call_param_iterator.next_nf();
 18701                             if (param_value != NULL){
 18711                             if (param_value != NULL){
 18702                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18712                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18703                                 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 ;
 18713                                 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 ;
 18704                             
 18714                             
 18705                                 /*Function specific CODE */
 18715                                 /*Function specific CODE */
 18706                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18716                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18707                             }
 18717                             }
 18708                             
 18718                             
 18709                         }while(param_value != NULL);
 18719                         }while(param_value != NULL);
 18710                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18720                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18711                         function_type_suffix = last_type_symbol;
 18721                         function_type_suffix = last_type_symbol;
 18732     case function_eq :
 18742     case function_eq :
 18733     {
 18743     {
 18734         symbol_c *last_type_symbol = NULL;
 18744         symbol_c *last_type_symbol = NULL;
 18735 
 18745 
 18736         {
 18746         {
 18737             identifier_c IN1_param_name("IN1");
 18747             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 18738             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18748             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18739             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18749             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 18740             symbol_c *IN1_type_symbol = NULL;
 18750             symbol_c *IN1_type_symbol = NULL;
 18741             
 18751             
 18742             /* Get the value from a foo(<param_value>) style call */
 18752             /* Get the value from a foo(<param_value>) style call */
 18743             if (IN1_param_value == NULL)
 18753             if (IN1_param_value == NULL)
 18744               IN1_param_value = function_call_param_iterator.next_nf();
 18754               IN1_param_value = function_call_param_iterator.next_nf();
 18749             
 18759             
 18750             
 18760             
 18751             {
 18761             {
 18752         
 18762         
 18753                 {
 18763                 {
 18754                     identifier_c IN2_param_name("IN2");
 18764                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 18755                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18765                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18756                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18766                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 18757                     symbol_c *IN2_type_symbol = NULL;
 18767                     symbol_c *IN2_type_symbol = NULL;
 18758                     
 18768                     
 18759                     /* Get the value from a foo(<param_value>) style call */
 18769                     /* Get the value from a foo(<param_value>) style call */
 18760                     if (IN2_param_value == NULL)
 18770                     if (IN2_param_value == NULL)
 18761                       IN2_param_value = function_call_param_iterator.next_nf();
 18771                       IN2_param_value = function_call_param_iterator.next_nf();
 18771                         
 18781                         
 18772                         if (nb_param < 2)
 18782                         if (nb_param < 2)
 18773                           nb_param = 2;
 18783                           nb_param = 2;
 18774                         char* nb_param_str = new char[10];
 18784                         char* nb_param_str = new char[10];
 18775                         sprintf(nb_param_str, "%d", nb_param);
 18785                         sprintf(nb_param_str, "%d", nb_param);
 18776                         identifier_c nb_param_name("nb_param");
 18786                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 18777                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18787                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18778                         
 18788                         
 18779                         if (IN1_type_symbol == NULL)
 18789                         if (IN1_type_symbol == NULL)
 18780                           IN1_type_symbol = last_type_symbol;
 18790                           IN1_type_symbol = last_type_symbol;
 18781                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18791                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18782                         
 18792                         
 18783                         if (IN2_type_symbol == NULL)
 18793                         if (IN2_type_symbol == NULL)
 18784                           IN2_type_symbol = last_type_symbol;
 18794                           IN2_type_symbol = last_type_symbol;
 18785                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18795                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18786                         
 18796                         
 18787                         int base_num = 3;
 18797                         int base_num = 3;
 18788                         symbol_c *param_value = NULL;
 18798                         symbol_c *param_value = NULL;
       
 18799                         symbol_c *param_name = NULL;
 18789                         do{
 18800                         do{
 18790                             char my_name[10];
 18801                             char my_name[10];
 18791                             sprintf(my_name, "IN%d", base_num++);
 18802                             sprintf(my_name, "IN%d", base_num++);
 18792                             identifier_c param_name(my_name);
 18803                             param_name = (symbol_c*)(new identifier_c(my_name));
 18793                             
 18804                             
 18794                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18805                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18795                             param_value = function_call_param_iterator.search_f(&param_name);
 18806                             param_value = function_call_param_iterator.search_f(param_name);
 18796                             
 18807                             
 18797                             /* Get the value from a foo(<param_value>) style call */
 18808                             /* Get the value from a foo(<param_value>) style call */
 18798                             if (param_value == NULL)
 18809                             if (param_value == NULL)
 18799                               param_value = function_call_param_iterator.next_nf();
 18810                               param_value = function_call_param_iterator.next_nf();
 18800                             if (param_value != NULL){
 18811                             if (param_value != NULL){
 18801                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18812                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18802                                 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 ;
 18813                                 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 ;
 18803                             
 18814                             
 18804                                 /*Function specific CODE */
 18815                                 /*Function specific CODE */
 18805                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18816                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18806                             }
 18817                             }
 18807                             
 18818                             
 18808                         }while(param_value != NULL);
 18819                         }while(param_value != NULL);
 18809                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18820                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18810                         function_type_suffix = last_type_symbol;
 18821                         function_type_suffix = last_type_symbol;
 18831     case function_lt :
 18842     case function_lt :
 18832     {
 18843     {
 18833         symbol_c *last_type_symbol = NULL;
 18844         symbol_c *last_type_symbol = NULL;
 18834 
 18845 
 18835         {
 18846         {
 18836             identifier_c IN1_param_name("IN1");
 18847             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 18837             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18848             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18838             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18849             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 18839             symbol_c *IN1_type_symbol = NULL;
 18850             symbol_c *IN1_type_symbol = NULL;
 18840             
 18851             
 18841             /* Get the value from a foo(<param_value>) style call */
 18852             /* Get the value from a foo(<param_value>) style call */
 18842             if (IN1_param_value == NULL)
 18853             if (IN1_param_value == NULL)
 18843               IN1_param_value = function_call_param_iterator.next_nf();
 18854               IN1_param_value = function_call_param_iterator.next_nf();
 18848             
 18859             
 18849             
 18860             
 18850             {
 18861             {
 18851         
 18862         
 18852                 {
 18863                 {
 18853                     identifier_c IN2_param_name("IN2");
 18864                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 18854                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18865                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18855                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18866                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 18856                     symbol_c *IN2_type_symbol = NULL;
 18867                     symbol_c *IN2_type_symbol = NULL;
 18857                     
 18868                     
 18858                     /* Get the value from a foo(<param_value>) style call */
 18869                     /* Get the value from a foo(<param_value>) style call */
 18859                     if (IN2_param_value == NULL)
 18870                     if (IN2_param_value == NULL)
 18860                       IN2_param_value = function_call_param_iterator.next_nf();
 18871                       IN2_param_value = function_call_param_iterator.next_nf();
 18870                         
 18881                         
 18871                         if (nb_param < 2)
 18882                         if (nb_param < 2)
 18872                           nb_param = 2;
 18883                           nb_param = 2;
 18873                         char* nb_param_str = new char[10];
 18884                         char* nb_param_str = new char[10];
 18874                         sprintf(nb_param_str, "%d", nb_param);
 18885                         sprintf(nb_param_str, "%d", nb_param);
 18875                         identifier_c nb_param_name("nb_param");
 18886                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 18876                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18887                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18877                         
 18888                         
 18878                         if (IN1_type_symbol == NULL)
 18889                         if (IN1_type_symbol == NULL)
 18879                           IN1_type_symbol = last_type_symbol;
 18890                           IN1_type_symbol = last_type_symbol;
 18880                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18891                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18881                         
 18892                         
 18882                         if (IN2_type_symbol == NULL)
 18893                         if (IN2_type_symbol == NULL)
 18883                           IN2_type_symbol = last_type_symbol;
 18894                           IN2_type_symbol = last_type_symbol;
 18884                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18895                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18885                         
 18896                         
 18886                         int base_num = 3;
 18897                         int base_num = 3;
 18887                         symbol_c *param_value = NULL;
 18898                         symbol_c *param_value = NULL;
       
 18899                         symbol_c *param_name = NULL;
 18888                         do{
 18900                         do{
 18889                             char my_name[10];
 18901                             char my_name[10];
 18890                             sprintf(my_name, "IN%d", base_num++);
 18902                             sprintf(my_name, "IN%d", base_num++);
 18891                             identifier_c param_name(my_name);
 18903                             param_name = (symbol_c*)(new identifier_c(my_name));
 18892                             
 18904                             
 18893                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18905                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18894                             param_value = function_call_param_iterator.search_f(&param_name);
 18906                             param_value = function_call_param_iterator.search_f(param_name);
 18895                             
 18907                             
 18896                             /* Get the value from a foo(<param_value>) style call */
 18908                             /* Get the value from a foo(<param_value>) style call */
 18897                             if (param_value == NULL)
 18909                             if (param_value == NULL)
 18898                               param_value = function_call_param_iterator.next_nf();
 18910                               param_value = function_call_param_iterator.next_nf();
 18899                             if (param_value != NULL){
 18911                             if (param_value != NULL){
 18900                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18912                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18901                                 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 ;
 18913                                 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 ;
 18902                             
 18914                             
 18903                                 /*Function specific CODE */
 18915                                 /*Function specific CODE */
 18904                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18916                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18905                             }
 18917                             }
 18906                             
 18918                             
 18907                         }while(param_value != NULL);
 18919                         }while(param_value != NULL);
 18908                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18920                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18909                         function_type_suffix = last_type_symbol;
 18921                         function_type_suffix = last_type_symbol;
 18930     case function_le :
 18942     case function_le :
 18931     {
 18943     {
 18932         symbol_c *last_type_symbol = NULL;
 18944         symbol_c *last_type_symbol = NULL;
 18933 
 18945 
 18934         {
 18946         {
 18935             identifier_c IN1_param_name("IN1");
 18947             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 18936             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18948             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18937             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18949             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 18938             symbol_c *IN1_type_symbol = NULL;
 18950             symbol_c *IN1_type_symbol = NULL;
 18939             
 18951             
 18940             /* Get the value from a foo(<param_value>) style call */
 18952             /* Get the value from a foo(<param_value>) style call */
 18941             if (IN1_param_value == NULL)
 18953             if (IN1_param_value == NULL)
 18942               IN1_param_value = function_call_param_iterator.next_nf();
 18954               IN1_param_value = function_call_param_iterator.next_nf();
 18947             
 18959             
 18948             
 18960             
 18949             {
 18961             {
 18950         
 18962         
 18951                 {
 18963                 {
 18952                     identifier_c IN2_param_name("IN2");
 18964                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 18953                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18965                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18954                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18966                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 18955                     symbol_c *IN2_type_symbol = NULL;
 18967                     symbol_c *IN2_type_symbol = NULL;
 18956                     
 18968                     
 18957                     /* Get the value from a foo(<param_value>) style call */
 18969                     /* Get the value from a foo(<param_value>) style call */
 18958                     if (IN2_param_value == NULL)
 18970                     if (IN2_param_value == NULL)
 18959                       IN2_param_value = function_call_param_iterator.next_nf();
 18971                       IN2_param_value = function_call_param_iterator.next_nf();
 18969                         
 18981                         
 18970                         if (nb_param < 2)
 18982                         if (nb_param < 2)
 18971                           nb_param = 2;
 18983                           nb_param = 2;
 18972                         char* nb_param_str = new char[10];
 18984                         char* nb_param_str = new char[10];
 18973                         sprintf(nb_param_str, "%d", nb_param);
 18985                         sprintf(nb_param_str, "%d", nb_param);
 18974                         identifier_c nb_param_name("nb_param");
 18986                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 18975                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18987                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18976                         
 18988                         
 18977                         if (IN1_type_symbol == NULL)
 18989                         if (IN1_type_symbol == NULL)
 18978                           IN1_type_symbol = last_type_symbol;
 18990                           IN1_type_symbol = last_type_symbol;
 18979                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18991                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18980                         
 18992                         
 18981                         if (IN2_type_symbol == NULL)
 18993                         if (IN2_type_symbol == NULL)
 18982                           IN2_type_symbol = last_type_symbol;
 18994                           IN2_type_symbol = last_type_symbol;
 18983                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18995                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18984                         
 18996                         
 18985                         int base_num = 3;
 18997                         int base_num = 3;
 18986                         symbol_c *param_value = NULL;
 18998                         symbol_c *param_value = NULL;
       
 18999                         symbol_c *param_name = NULL;
 18987                         do{
 19000                         do{
 18988                             char my_name[10];
 19001                             char my_name[10];
 18989                             sprintf(my_name, "IN%d", base_num++);
 19002                             sprintf(my_name, "IN%d", base_num++);
 18990                             identifier_c param_name(my_name);
 19003                             param_name = (symbol_c*)(new identifier_c(my_name));
 18991                             
 19004                             
 18992                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19005                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18993                             param_value = function_call_param_iterator.search_f(&param_name);
 19006                             param_value = function_call_param_iterator.search_f(param_name);
 18994                             
 19007                             
 18995                             /* Get the value from a foo(<param_value>) style call */
 19008                             /* Get the value from a foo(<param_value>) style call */
 18996                             if (param_value == NULL)
 19009                             if (param_value == NULL)
 18997                               param_value = function_call_param_iterator.next_nf();
 19010                               param_value = function_call_param_iterator.next_nf();
 18998                             if (param_value != NULL){
 19011                             if (param_value != NULL){
 18999                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 19012                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 19000                                 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 ;
 19013                                 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 ;
 19001                             
 19014                             
 19002                                 /*Function specific CODE */
 19015                                 /*Function specific CODE */
 19003                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 19016                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 19004                             }
 19017                             }
 19005                             
 19018                             
 19006                         }while(param_value != NULL);
 19019                         }while(param_value != NULL);
 19007                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 19020                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 19008                         function_type_suffix = last_type_symbol;
 19021                         function_type_suffix = last_type_symbol;
 19029     case function_ne :
 19042     case function_ne :
 19030     {
 19043     {
 19031         symbol_c *last_type_symbol = NULL;
 19044         symbol_c *last_type_symbol = NULL;
 19032 
 19045 
 19033         {
 19046         {
 19034             identifier_c IN1_param_name("IN1");
 19047             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 19035             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19048             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19036             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 19049             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 19037             symbol_c *IN1_type_symbol = NULL;
 19050             symbol_c *IN1_type_symbol = NULL;
 19038             
 19051             
 19039             /* Get the value from a foo(<param_value>) style call */
 19052             /* Get the value from a foo(<param_value>) style call */
 19040             if (IN1_param_value == NULL)
 19053             if (IN1_param_value == NULL)
 19041               IN1_param_value = function_call_param_iterator.next_nf();
 19054               IN1_param_value = function_call_param_iterator.next_nf();
 19046             
 19059             
 19047             
 19060             
 19048             {
 19061             {
 19049         
 19062         
 19050                 {
 19063                 {
 19051                     identifier_c IN2_param_name("IN2");
 19064                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 19052                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19065                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19053                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 19066                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 19054                     symbol_c *IN2_type_symbol = NULL;
 19067                     symbol_c *IN2_type_symbol = NULL;
 19055                     
 19068                     
 19056                     /* Get the value from a foo(<param_value>) style call */
 19069                     /* Get the value from a foo(<param_value>) style call */
 19057                     if (IN2_param_value == NULL)
 19070                     if (IN2_param_value == NULL)
 19058                       IN2_param_value = function_call_param_iterator.next_nf();
 19071                       IN2_param_value = function_call_param_iterator.next_nf();
 19068                         
 19081                         
 19069                         if (nb_param < 2)
 19082                         if (nb_param < 2)
 19070                           nb_param = 2;
 19083                           nb_param = 2;
 19071                         char* nb_param_str = new char[10];
 19084                         char* nb_param_str = new char[10];
 19072                         sprintf(nb_param_str, "%d", nb_param);
 19085                         sprintf(nb_param_str, "%d", nb_param);
 19073                         identifier_c nb_param_name("nb_param");
 19086                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 19074                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 19087                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 19075                         
 19088                         
 19076                         if (IN1_type_symbol == NULL)
 19089                         if (IN1_type_symbol == NULL)
 19077                           IN1_type_symbol = last_type_symbol;
 19090                           IN1_type_symbol = last_type_symbol;
 19078                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19091                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19079                         
 19092                         
 19080                         if (IN2_type_symbol == NULL)
 19093                         if (IN2_type_symbol == NULL)
 19081                           IN2_type_symbol = last_type_symbol;
 19094                           IN2_type_symbol = last_type_symbol;
 19082                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19095                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19083                         
 19096                         
 19084                         int base_num = 3;
 19097                         int base_num = 3;
 19085                         symbol_c *param_value = NULL;
 19098                         symbol_c *param_value = NULL;
       
 19099                         symbol_c *param_name = NULL;
 19086                         do{
 19100                         do{
 19087                             char my_name[10];
 19101                             char my_name[10];
 19088                             sprintf(my_name, "IN%d", base_num++);
 19102                             sprintf(my_name, "IN%d", base_num++);
 19089                             identifier_c param_name(my_name);
 19103                             param_name = (symbol_c*)(new identifier_c(my_name));
 19090                             
 19104                             
 19091                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19105                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19092                             param_value = function_call_param_iterator.search_f(&param_name);
 19106                             param_value = function_call_param_iterator.search_f(param_name);
 19093                             
 19107                             
 19094                             /* Get the value from a foo(<param_value>) style call */
 19108                             /* Get the value from a foo(<param_value>) style call */
 19095                             if (param_value == NULL)
 19109                             if (param_value == NULL)
 19096                               param_value = function_call_param_iterator.next_nf();
 19110                               param_value = function_call_param_iterator.next_nf();
 19097                             if (param_value != NULL){
 19111                             if (param_value != NULL){
 19098                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 19112                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 19099                                 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 ;
 19113                                 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 ;
 19100                             
 19114                             
 19101                                 /*Function specific CODE */
 19115                                 /*Function specific CODE */
 19102                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 19116                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 19103                             }
 19117                             }
 19104                             
 19118                             
 19105                         }while(param_value != NULL);
 19119                         }while(param_value != NULL);
 19106                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 19120                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 19107                         function_type_suffix = last_type_symbol;
 19121                         function_type_suffix = last_type_symbol;
 19128     case function_len :
 19142     case function_len :
 19129     {
 19143     {
 19130         symbol_c *last_type_symbol = NULL;
 19144         symbol_c *last_type_symbol = NULL;
 19131 
 19145 
 19132         {
 19146         {
 19133             identifier_c IN_param_name("IN");
 19147             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 19134             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19148             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19135             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 19149             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 19136             symbol_c *IN_type_symbol = NULL;
 19150             symbol_c *IN_type_symbol = NULL;
 19137             
 19151             
 19138             /* Get the value from a foo(<param_value>) style call */
 19152             /* Get the value from a foo(<param_value>) style call */
 19139             if (IN_param_value == NULL)
 19153             if (IN_param_value == NULL)
 19140               IN_param_value = function_call_param_iterator.next_nf();
 19154               IN_param_value = function_call_param_iterator.next_nf();
 19148         
 19162         
 19149                 function_name = (symbol_c*)(new pragma_c("__len"));
 19163                 function_name = (symbol_c*)(new pragma_c("__len"));
 19150                 
 19164                 
 19151                 if (IN_type_symbol == NULL)
 19165                 if (IN_type_symbol == NULL)
 19152                   IN_type_symbol = last_type_symbol;
 19166                   IN_type_symbol = last_type_symbol;
 19153                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19167                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19154                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19168                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19155                 break;
 19169                 break;
 19156                 
 19170                 
 19157             }
 19171             }
 19158             
 19172             
 19169     case function_left :
 19183     case function_left :
 19170     {
 19184     {
 19171         symbol_c *last_type_symbol = NULL;
 19185         symbol_c *last_type_symbol = NULL;
 19172 
 19186 
 19173         {
 19187         {
 19174             identifier_c IN_param_name("IN");
 19188             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 19175             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19189             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19176             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 19190             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 19177             symbol_c *IN_type_symbol = NULL;
 19191             symbol_c *IN_type_symbol = NULL;
 19178             
 19192             
 19179             /* Get the value from a foo(<param_value>) style call */
 19193             /* Get the value from a foo(<param_value>) style call */
 19180             if (IN_param_value == NULL)
 19194             if (IN_param_value == NULL)
 19181               IN_param_value = function_call_param_iterator.next_nf();
 19195               IN_param_value = function_call_param_iterator.next_nf();
 19186             
 19200             
 19187             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19201             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19188             {
 19202             {
 19189         
 19203         
 19190                 {
 19204                 {
 19191                     identifier_c L_param_name("L");
 19205                     symbol_c *L_param_name = (symbol_c *)(new identifier_c("L"));
 19192                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19206                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19193                     symbol_c *L_param_value = function_call_param_iterator.search_f(&L_param_name);
 19207                     symbol_c *L_param_value = function_call_param_iterator.search_f(L_param_name);
 19194                     symbol_c *L_type_symbol = NULL;
 19208                     symbol_c *L_type_symbol = NULL;
 19195                     
 19209                     
 19196                     /* Get the value from a foo(<param_value>) style call */
 19210                     /* Get the value from a foo(<param_value>) style call */
 19197                     if (L_param_value == NULL)
 19211                     if (L_param_value == NULL)
 19198                       L_param_value = function_call_param_iterator.next_nf();
 19212                       L_param_value = function_call_param_iterator.next_nf();
 19206                 
 19220                 
 19207                         function_name = (symbol_c*)(new pragma_c("__left"));
 19221                         function_name = (symbol_c*)(new pragma_c("__left"));
 19208                         
 19222                         
 19209                         if (IN_type_symbol == NULL)
 19223                         if (IN_type_symbol == NULL)
 19210                           IN_type_symbol = last_type_symbol;
 19224                           IN_type_symbol = last_type_symbol;
 19211                         ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19225                         ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19212                         
 19226                         
 19213                         if (L_type_symbol == NULL)
 19227                         if (L_type_symbol == NULL)
 19214                           L_type_symbol = last_type_symbol;
 19228                           L_type_symbol = last_type_symbol;
 19215                         ADD_PARAM_LIST(&L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19229                         ADD_PARAM_LIST(L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19216                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19230                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19217                         break;
 19231                         break;
 19218                         
 19232                         
 19219                     }
 19233                     }
 19220                     
 19234                     
 19237     case function_right :
 19251     case function_right :
 19238     {
 19252     {
 19239         symbol_c *last_type_symbol = NULL;
 19253         symbol_c *last_type_symbol = NULL;
 19240 
 19254 
 19241         {
 19255         {
 19242             identifier_c IN_param_name("IN");
 19256             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 19243             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19257             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19244             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 19258             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 19245             symbol_c *IN_type_symbol = NULL;
 19259             symbol_c *IN_type_symbol = NULL;
 19246             
 19260             
 19247             /* Get the value from a foo(<param_value>) style call */
 19261             /* Get the value from a foo(<param_value>) style call */
 19248             if (IN_param_value == NULL)
 19262             if (IN_param_value == NULL)
 19249               IN_param_value = function_call_param_iterator.next_nf();
 19263               IN_param_value = function_call_param_iterator.next_nf();
 19254             
 19268             
 19255             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19269             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19256             {
 19270             {
 19257         
 19271         
 19258                 {
 19272                 {
 19259                     identifier_c L_param_name("L");
 19273                     symbol_c *L_param_name = (symbol_c *)(new identifier_c("L"));
 19260                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19274                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19261                     symbol_c *L_param_value = function_call_param_iterator.search_f(&L_param_name);
 19275                     symbol_c *L_param_value = function_call_param_iterator.search_f(L_param_name);
 19262                     symbol_c *L_type_symbol = NULL;
 19276                     symbol_c *L_type_symbol = NULL;
 19263                     
 19277                     
 19264                     /* Get the value from a foo(<param_value>) style call */
 19278                     /* Get the value from a foo(<param_value>) style call */
 19265                     if (L_param_value == NULL)
 19279                     if (L_param_value == NULL)
 19266                       L_param_value = function_call_param_iterator.next_nf();
 19280                       L_param_value = function_call_param_iterator.next_nf();
 19274                 
 19288                 
 19275                         function_name = (symbol_c*)(new pragma_c("__right"));
 19289                         function_name = (symbol_c*)(new pragma_c("__right"));
 19276                         
 19290                         
 19277                         if (IN_type_symbol == NULL)
 19291                         if (IN_type_symbol == NULL)
 19278                           IN_type_symbol = last_type_symbol;
 19292                           IN_type_symbol = last_type_symbol;
 19279                         ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19293                         ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19280                         
 19294                         
 19281                         if (L_type_symbol == NULL)
 19295                         if (L_type_symbol == NULL)
 19282                           L_type_symbol = last_type_symbol;
 19296                           L_type_symbol = last_type_symbol;
 19283                         ADD_PARAM_LIST(&L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19297                         ADD_PARAM_LIST(L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19284                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19298                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19285                         break;
 19299                         break;
 19286                         
 19300                         
 19287                     }
 19301                     }
 19288                     
 19302                     
 19305     case function_mid :
 19319     case function_mid :
 19306     {
 19320     {
 19307         symbol_c *last_type_symbol = NULL;
 19321         symbol_c *last_type_symbol = NULL;
 19308 
 19322 
 19309         {
 19323         {
 19310             identifier_c IN_param_name("IN");
 19324             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 19311             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19325             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19312             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 19326             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 19313             symbol_c *IN_type_symbol = NULL;
 19327             symbol_c *IN_type_symbol = NULL;
 19314             
 19328             
 19315             /* Get the value from a foo(<param_value>) style call */
 19329             /* Get the value from a foo(<param_value>) style call */
 19316             if (IN_param_value == NULL)
 19330             if (IN_param_value == NULL)
 19317               IN_param_value = function_call_param_iterator.next_nf();
 19331               IN_param_value = function_call_param_iterator.next_nf();
 19322             
 19336             
 19323             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19337             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19324             {
 19338             {
 19325         
 19339         
 19326                 {
 19340                 {
 19327                     identifier_c L_param_name("L");
 19341                     symbol_c *L_param_name = (symbol_c *)(new identifier_c("L"));
 19328                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19342                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19329                     symbol_c *L_param_value = function_call_param_iterator.search_f(&L_param_name);
 19343                     symbol_c *L_param_value = function_call_param_iterator.search_f(L_param_name);
 19330                     symbol_c *L_type_symbol = NULL;
 19344                     symbol_c *L_type_symbol = NULL;
 19331                     
 19345                     
 19332                     /* Get the value from a foo(<param_value>) style call */
 19346                     /* Get the value from a foo(<param_value>) style call */
 19333                     if (L_param_value == NULL)
 19347                     if (L_param_value == NULL)
 19334                       L_param_value = function_call_param_iterator.next_nf();
 19348                       L_param_value = function_call_param_iterator.next_nf();
 19339                     
 19353                     
 19340                     if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol))
 19354                     if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol))
 19341                     {
 19355                     {
 19342                 
 19356                 
 19343                         {
 19357                         {
 19344                             identifier_c P_param_name("P");
 19358                             symbol_c *P_param_name = (symbol_c *)(new identifier_c("P"));
 19345                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19359                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19346                             symbol_c *P_param_value = function_call_param_iterator.search_f(&P_param_name);
 19360                             symbol_c *P_param_value = function_call_param_iterator.search_f(P_param_name);
 19347                             symbol_c *P_type_symbol = NULL;
 19361                             symbol_c *P_type_symbol = NULL;
 19348                             
 19362                             
 19349                             /* Get the value from a foo(<param_value>) style call */
 19363                             /* Get the value from a foo(<param_value>) style call */
 19350                             if (P_param_value == NULL)
 19364                             if (P_param_value == NULL)
 19351                               P_param_value = function_call_param_iterator.next_nf();
 19365                               P_param_value = function_call_param_iterator.next_nf();
 19359                         
 19373                         
 19360                                 function_name = (symbol_c*)(new pragma_c("__mid"));
 19374                                 function_name = (symbol_c*)(new pragma_c("__mid"));
 19361                                 
 19375                                 
 19362                                 if (IN_type_symbol == NULL)
 19376                                 if (IN_type_symbol == NULL)
 19363                                   IN_type_symbol = last_type_symbol;
 19377                                   IN_type_symbol = last_type_symbol;
 19364                                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19378                                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19365                                 
 19379                                 
 19366                                 if (L_type_symbol == NULL)
 19380                                 if (L_type_symbol == NULL)
 19367                                   L_type_symbol = last_type_symbol;
 19381                                   L_type_symbol = last_type_symbol;
 19368                                 ADD_PARAM_LIST(&L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19382                                 ADD_PARAM_LIST(L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19369                                 
 19383                                 
 19370                                 if (P_type_symbol == NULL)
 19384                                 if (P_type_symbol == NULL)
 19371                                   P_type_symbol = last_type_symbol;
 19385                                   P_type_symbol = last_type_symbol;
 19372                                 ADD_PARAM_LIST(&P_param_name, P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19386                                 ADD_PARAM_LIST(P_param_name, P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19373                                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19387                                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19374                                 break;
 19388                                 break;
 19375                                 
 19389                                 
 19376                             }
 19390                             }
 19377                             
 19391                             
 19400     case function_concat :
 19414     case function_concat :
 19401     {
 19415     {
 19402         symbol_c *last_type_symbol = NULL;
 19416         symbol_c *last_type_symbol = NULL;
 19403 
 19417 
 19404         {
 19418         {
 19405             identifier_c IN1_param_name("IN1");
 19419             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 19406             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19420             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19407             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 19421             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 19408             symbol_c *IN1_type_symbol = NULL;
 19422             symbol_c *IN1_type_symbol = NULL;
 19409             
 19423             
 19410             /* Get the value from a foo(<param_value>) style call */
 19424             /* Get the value from a foo(<param_value>) style call */
 19411             if (IN1_param_value == NULL)
 19425             if (IN1_param_value == NULL)
 19412               IN1_param_value = function_call_param_iterator.next_nf();
 19426               IN1_param_value = function_call_param_iterator.next_nf();
 19417             
 19431             
 19418             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19432             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19419             {
 19433             {
 19420         
 19434         
 19421                 {
 19435                 {
 19422                     identifier_c IN2_param_name("IN2");
 19436                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 19423                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19437                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19424                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 19438                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 19425                     symbol_c *IN2_type_symbol = NULL;
 19439                     symbol_c *IN2_type_symbol = NULL;
 19426                     
 19440                     
 19427                     /* Get the value from a foo(<param_value>) style call */
 19441                     /* Get the value from a foo(<param_value>) style call */
 19428                     if (IN2_param_value == NULL)
 19442                     if (IN2_param_value == NULL)
 19429                       IN2_param_value = function_call_param_iterator.next_nf();
 19443                       IN2_param_value = function_call_param_iterator.next_nf();
 19437                 
 19451                 
 19438                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 19452                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 19439                         
 19453                         
 19440                         if (IN1_type_symbol == NULL)
 19454                         if (IN1_type_symbol == NULL)
 19441                           IN1_type_symbol = last_type_symbol;
 19455                           IN1_type_symbol = last_type_symbol;
 19442                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19456                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19443                         
 19457                         
 19444                         if (IN2_type_symbol == NULL)
 19458                         if (IN2_type_symbol == NULL)
 19445                           IN2_type_symbol = last_type_symbol;
 19459                           IN2_type_symbol = last_type_symbol;
 19446                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19460                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19447                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 19461                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 19448                         break;
 19462                         break;
 19449                         
 19463                         
 19450                     }
 19464                     }
 19451                     
 19465                     
 19457             
 19471             
 19458             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19472             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19459             {
 19473             {
 19460         
 19474         
 19461                 {
 19475                 {
 19462                     identifier_c IN2_param_name("IN2");
 19476                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 19463                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19477                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19464                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 19478                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 19465                     symbol_c *IN2_type_symbol = NULL;
 19479                     symbol_c *IN2_type_symbol = NULL;
 19466                     
 19480                     
 19467                     /* Get the value from a foo(<param_value>) style call */
 19481                     /* Get the value from a foo(<param_value>) style call */
 19468                     if (IN2_param_value == NULL)
 19482                     if (IN2_param_value == NULL)
 19469                       IN2_param_value = function_call_param_iterator.next_nf();
 19483                       IN2_param_value = function_call_param_iterator.next_nf();
 19479                         
 19493                         
 19480                         if (nb_param < 2)
 19494                         if (nb_param < 2)
 19481                           nb_param = 2;
 19495                           nb_param = 2;
 19482                         char* nb_param_str = new char[10];
 19496                         char* nb_param_str = new char[10];
 19483                         sprintf(nb_param_str, "%d", nb_param);
 19497                         sprintf(nb_param_str, "%d", nb_param);
 19484                         identifier_c nb_param_name("nb_param");
 19498                         symbol_c * nb_param_name = (symbol_c *)(new identifier_c("nb_param"));
 19485                         ADD_PARAM_LIST(&nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 19499                         ADD_PARAM_LIST(nb_param_name, (symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 19486                         
 19500                         
 19487                         if (IN1_type_symbol == NULL)
 19501                         if (IN1_type_symbol == NULL)
 19488                           IN1_type_symbol = last_type_symbol;
 19502                           IN1_type_symbol = last_type_symbol;
 19489                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19503                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19490                         
 19504                         
 19491                         if (IN2_type_symbol == NULL)
 19505                         if (IN2_type_symbol == NULL)
 19492                           IN2_type_symbol = last_type_symbol;
 19506                           IN2_type_symbol = last_type_symbol;
 19493                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19507                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19494                         
 19508                         
 19495                         int base_num = 3;
 19509                         int base_num = 3;
 19496                         symbol_c *param_value = NULL;
 19510                         symbol_c *param_value = NULL;
       
 19511                         symbol_c *param_name = NULL;
 19497                         do{
 19512                         do{
 19498                             char my_name[10];
 19513                             char my_name[10];
 19499                             sprintf(my_name, "IN%d", base_num++);
 19514                             sprintf(my_name, "IN%d", base_num++);
 19500                             identifier_c param_name(my_name);
 19515                             param_name = (symbol_c*)(new identifier_c(my_name));
 19501                             
 19516                             
 19502                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19517                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19503                             param_value = function_call_param_iterator.search_f(&param_name);
 19518                             param_value = function_call_param_iterator.search_f(param_name);
 19504                             
 19519                             
 19505                             /* Get the value from a foo(<param_value>) style call */
 19520                             /* Get the value from a foo(<param_value>) style call */
 19506                             if (param_value == NULL)
 19521                             if (param_value == NULL)
 19507                               param_value = function_call_param_iterator.next_nf();
 19522                               param_value = function_call_param_iterator.next_nf();
 19508                             if (param_value != NULL){
 19523                             if (param_value != NULL){
 19509                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 19524                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 19510                                 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 ;
 19525                                 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 ;
 19511                             
 19526                             
 19512                                 /*Function specific CODE */
 19527                                 /*Function specific CODE */
 19513                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 19528                                 ADD_PARAM_LIST(param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 19514                             }
 19529                             }
 19515                             
 19530                             
 19516                         }while(param_value != NULL);
 19531                         }while(param_value != NULL);
 19517                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19532                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19518                         break;
 19533                         break;
 19538     case function_insert :
 19553     case function_insert :
 19539     {
 19554     {
 19540         symbol_c *last_type_symbol = NULL;
 19555         symbol_c *last_type_symbol = NULL;
 19541 
 19556 
 19542         {
 19557         {
 19543             identifier_c IN1_param_name("IN1");
 19558             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 19544             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19559             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19545             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 19560             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 19546             symbol_c *IN1_type_symbol = NULL;
 19561             symbol_c *IN1_type_symbol = NULL;
 19547             
 19562             
 19548             /* Get the value from a foo(<param_value>) style call */
 19563             /* Get the value from a foo(<param_value>) style call */
 19549             if (IN1_param_value == NULL)
 19564             if (IN1_param_value == NULL)
 19550               IN1_param_value = function_call_param_iterator.next_nf();
 19565               IN1_param_value = function_call_param_iterator.next_nf();
 19555             
 19570             
 19556             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19571             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19557             {
 19572             {
 19558         
 19573         
 19559                 {
 19574                 {
 19560                     identifier_c IN2_param_name("IN2");
 19575                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 19561                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19576                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19562                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 19577                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 19563                     symbol_c *IN2_type_symbol = NULL;
 19578                     symbol_c *IN2_type_symbol = NULL;
 19564                     
 19579                     
 19565                     /* Get the value from a foo(<param_value>) style call */
 19580                     /* Get the value from a foo(<param_value>) style call */
 19566                     if (IN2_param_value == NULL)
 19581                     if (IN2_param_value == NULL)
 19567                       IN2_param_value = function_call_param_iterator.next_nf();
 19582                       IN2_param_value = function_call_param_iterator.next_nf();
 19572                     
 19587                     
 19573                     if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19588                     if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19574                     {
 19589                     {
 19575                 
 19590                 
 19576                         {
 19591                         {
 19577                             identifier_c P_param_name("P");
 19592                             symbol_c *P_param_name = (symbol_c *)(new identifier_c("P"));
 19578                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19593                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19579                             symbol_c *P_param_value = function_call_param_iterator.search_f(&P_param_name);
 19594                             symbol_c *P_param_value = function_call_param_iterator.search_f(P_param_name);
 19580                             symbol_c *P_type_symbol = NULL;
 19595                             symbol_c *P_type_symbol = NULL;
 19581                             
 19596                             
 19582                             /* Get the value from a foo(<param_value>) style call */
 19597                             /* Get the value from a foo(<param_value>) style call */
 19583                             if (P_param_value == NULL)
 19598                             if (P_param_value == NULL)
 19584                               P_param_value = function_call_param_iterator.next_nf();
 19599                               P_param_value = function_call_param_iterator.next_nf();
 19592                         
 19607                         
 19593                                 function_name = (symbol_c*)(new pragma_c("__insert"));
 19608                                 function_name = (symbol_c*)(new pragma_c("__insert"));
 19594                                 
 19609                                 
 19595                                 if (IN1_type_symbol == NULL)
 19610                                 if (IN1_type_symbol == NULL)
 19596                                   IN1_type_symbol = last_type_symbol;
 19611                                   IN1_type_symbol = last_type_symbol;
 19597                                 ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19612                                 ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19598                                 
 19613                                 
 19599                                 if (IN2_type_symbol == NULL)
 19614                                 if (IN2_type_symbol == NULL)
 19600                                   IN2_type_symbol = last_type_symbol;
 19615                                   IN2_type_symbol = last_type_symbol;
 19601                                 ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19616                                 ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19602                                 
 19617                                 
 19603                                 if (P_type_symbol == NULL)
 19618                                 if (P_type_symbol == NULL)
 19604                                   P_type_symbol = last_type_symbol;
 19619                                   P_type_symbol = last_type_symbol;
 19605                                 ADD_PARAM_LIST(&P_param_name, P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19620                                 ADD_PARAM_LIST(P_param_name, P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19606                                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19621                                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19607                                 break;
 19622                                 break;
 19608                                 
 19623                                 
 19609                             }
 19624                             }
 19610                             
 19625                             
 19633     case function_delete :
 19648     case function_delete :
 19634     {
 19649     {
 19635         symbol_c *last_type_symbol = NULL;
 19650         symbol_c *last_type_symbol = NULL;
 19636 
 19651 
 19637         {
 19652         {
 19638             identifier_c IN_param_name("IN");
 19653             symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN"));
 19639             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19654             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19640             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 19655             symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
 19641             symbol_c *IN_type_symbol = NULL;
 19656             symbol_c *IN_type_symbol = NULL;
 19642             
 19657             
 19643             /* Get the value from a foo(<param_value>) style call */
 19658             /* Get the value from a foo(<param_value>) style call */
 19644             if (IN_param_value == NULL)
 19659             if (IN_param_value == NULL)
 19645               IN_param_value = function_call_param_iterator.next_nf();
 19660               IN_param_value = function_call_param_iterator.next_nf();
 19650             
 19665             
 19651             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19666             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19652             {
 19667             {
 19653         
 19668         
 19654                 {
 19669                 {
 19655                     identifier_c L_param_name("L");
 19670                     symbol_c *L_param_name = (symbol_c *)(new identifier_c("L"));
 19656                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19671                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19657                     symbol_c *L_param_value = function_call_param_iterator.search_f(&L_param_name);
 19672                     symbol_c *L_param_value = function_call_param_iterator.search_f(L_param_name);
 19658                     symbol_c *L_type_symbol = NULL;
 19673                     symbol_c *L_type_symbol = NULL;
 19659                     
 19674                     
 19660                     /* Get the value from a foo(<param_value>) style call */
 19675                     /* Get the value from a foo(<param_value>) style call */
 19661                     if (L_param_value == NULL)
 19676                     if (L_param_value == NULL)
 19662                       L_param_value = function_call_param_iterator.next_nf();
 19677                       L_param_value = function_call_param_iterator.next_nf();
 19667                     
 19682                     
 19668                     if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol))
 19683                     if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol))
 19669                     {
 19684                     {
 19670                 
 19685                 
 19671                         {
 19686                         {
 19672                             identifier_c P_param_name("P");
 19687                             symbol_c *P_param_name = (symbol_c *)(new identifier_c("P"));
 19673                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19688                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19674                             symbol_c *P_param_value = function_call_param_iterator.search_f(&P_param_name);
 19689                             symbol_c *P_param_value = function_call_param_iterator.search_f(P_param_name);
 19675                             symbol_c *P_type_symbol = NULL;
 19690                             symbol_c *P_type_symbol = NULL;
 19676                             
 19691                             
 19677                             /* Get the value from a foo(<param_value>) style call */
 19692                             /* Get the value from a foo(<param_value>) style call */
 19678                             if (P_param_value == NULL)
 19693                             if (P_param_value == NULL)
 19679                               P_param_value = function_call_param_iterator.next_nf();
 19694                               P_param_value = function_call_param_iterator.next_nf();
 19687                         
 19702                         
 19688                                 function_name = (symbol_c*)(new pragma_c("__delete"));
 19703                                 function_name = (symbol_c*)(new pragma_c("__delete"));
 19689                                 
 19704                                 
 19690                                 if (IN_type_symbol == NULL)
 19705                                 if (IN_type_symbol == NULL)
 19691                                   IN_type_symbol = last_type_symbol;
 19706                                   IN_type_symbol = last_type_symbol;
 19692                                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19707                                 ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19693                                 
 19708                                 
 19694                                 if (L_type_symbol == NULL)
 19709                                 if (L_type_symbol == NULL)
 19695                                   L_type_symbol = last_type_symbol;
 19710                                   L_type_symbol = last_type_symbol;
 19696                                 ADD_PARAM_LIST(&L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19711                                 ADD_PARAM_LIST(L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19697                                 
 19712                                 
 19698                                 if (P_type_symbol == NULL)
 19713                                 if (P_type_symbol == NULL)
 19699                                   P_type_symbol = last_type_symbol;
 19714                                   P_type_symbol = last_type_symbol;
 19700                                 ADD_PARAM_LIST(&P_param_name, P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19715                                 ADD_PARAM_LIST(P_param_name, P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19701                                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19716                                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19702                                 break;
 19717                                 break;
 19703                                 
 19718                                 
 19704                             }
 19719                             }
 19705                             
 19720                             
 19728     case function_replace :
 19743     case function_replace :
 19729     {
 19744     {
 19730         symbol_c *last_type_symbol = NULL;
 19745         symbol_c *last_type_symbol = NULL;
 19731 
 19746 
 19732         {
 19747         {
 19733             identifier_c IN1_param_name("IN1");
 19748             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 19734             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19749             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19735             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 19750             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 19736             symbol_c *IN1_type_symbol = NULL;
 19751             symbol_c *IN1_type_symbol = NULL;
 19737             
 19752             
 19738             /* Get the value from a foo(<param_value>) style call */
 19753             /* Get the value from a foo(<param_value>) style call */
 19739             if (IN1_param_value == NULL)
 19754             if (IN1_param_value == NULL)
 19740               IN1_param_value = function_call_param_iterator.next_nf();
 19755               IN1_param_value = function_call_param_iterator.next_nf();
 19745             
 19760             
 19746             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19761             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19747             {
 19762             {
 19748         
 19763         
 19749                 {
 19764                 {
 19750                     identifier_c IN2_param_name("IN2");
 19765                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 19751                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19766                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19752                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 19767                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 19753                     symbol_c *IN2_type_symbol = NULL;
 19768                     symbol_c *IN2_type_symbol = NULL;
 19754                     
 19769                     
 19755                     /* Get the value from a foo(<param_value>) style call */
 19770                     /* Get the value from a foo(<param_value>) style call */
 19756                     if (IN2_param_value == NULL)
 19771                     if (IN2_param_value == NULL)
 19757                       IN2_param_value = function_call_param_iterator.next_nf();
 19772                       IN2_param_value = function_call_param_iterator.next_nf();
 19762                     
 19777                     
 19763                     if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19778                     if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19764                     {
 19779                     {
 19765                 
 19780                 
 19766                         {
 19781                         {
 19767                             identifier_c L_param_name("L");
 19782                             symbol_c *L_param_name = (symbol_c *)(new identifier_c("L"));
 19768                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19783                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19769                             symbol_c *L_param_value = function_call_param_iterator.search_f(&L_param_name);
 19784                             symbol_c *L_param_value = function_call_param_iterator.search_f(L_param_name);
 19770                             symbol_c *L_type_symbol = NULL;
 19785                             symbol_c *L_type_symbol = NULL;
 19771                             
 19786                             
 19772                             /* Get the value from a foo(<param_value>) style call */
 19787                             /* Get the value from a foo(<param_value>) style call */
 19773                             if (L_param_value == NULL)
 19788                             if (L_param_value == NULL)
 19774                               L_param_value = function_call_param_iterator.next_nf();
 19789                               L_param_value = function_call_param_iterator.next_nf();
 19779                             
 19794                             
 19780                             if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol))
 19795                             if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol))
 19781                             {
 19796                             {
 19782                         
 19797                         
 19783                                 {
 19798                                 {
 19784                                     identifier_c P_param_name("P");
 19799                                     symbol_c *P_param_name = (symbol_c *)(new identifier_c("P"));
 19785                                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19800                                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19786                                     symbol_c *P_param_value = function_call_param_iterator.search_f(&P_param_name);
 19801                                     symbol_c *P_param_value = function_call_param_iterator.search_f(P_param_name);
 19787                                     symbol_c *P_type_symbol = NULL;
 19802                                     symbol_c *P_type_symbol = NULL;
 19788                                     
 19803                                     
 19789                                     /* Get the value from a foo(<param_value>) style call */
 19804                                     /* Get the value from a foo(<param_value>) style call */
 19790                                     if (P_param_value == NULL)
 19805                                     if (P_param_value == NULL)
 19791                                       P_param_value = function_call_param_iterator.next_nf();
 19806                                       P_param_value = function_call_param_iterator.next_nf();
 19799                                 
 19814                                 
 19800                                         function_name = (symbol_c*)(new pragma_c("__replace"));
 19815                                         function_name = (symbol_c*)(new pragma_c("__replace"));
 19801                                         
 19816                                         
 19802                                         if (IN1_type_symbol == NULL)
 19817                                         if (IN1_type_symbol == NULL)
 19803                                           IN1_type_symbol = last_type_symbol;
 19818                                           IN1_type_symbol = last_type_symbol;
 19804                                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19819                                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19805                                         
 19820                                         
 19806                                         if (IN2_type_symbol == NULL)
 19821                                         if (IN2_type_symbol == NULL)
 19807                                           IN2_type_symbol = last_type_symbol;
 19822                                           IN2_type_symbol = last_type_symbol;
 19808                                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19823                                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19809                                         
 19824                                         
 19810                                         if (L_type_symbol == NULL)
 19825                                         if (L_type_symbol == NULL)
 19811                                           L_type_symbol = last_type_symbol;
 19826                                           L_type_symbol = last_type_symbol;
 19812                                         ADD_PARAM_LIST(&L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19827                                         ADD_PARAM_LIST(L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19813                                         
 19828                                         
 19814                                         if (P_type_symbol == NULL)
 19829                                         if (P_type_symbol == NULL)
 19815                                           P_type_symbol = last_type_symbol;
 19830                                           P_type_symbol = last_type_symbol;
 19816                                         ADD_PARAM_LIST(&P_param_name, P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19831                                         ADD_PARAM_LIST(P_param_name, P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19817                                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19832                                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19818                                         break;
 19833                                         break;
 19819                                         
 19834                                         
 19820                                     }
 19835                                     }
 19821                                     
 19836                                     
 19850     case function_find :
 19865     case function_find :
 19851     {
 19866     {
 19852         symbol_c *last_type_symbol = NULL;
 19867         symbol_c *last_type_symbol = NULL;
 19853 
 19868 
 19854         {
 19869         {
 19855             identifier_c IN1_param_name("IN1");
 19870             symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1"));
 19856             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19871             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19857             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 19872             symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name);
 19858             symbol_c *IN1_type_symbol = NULL;
 19873             symbol_c *IN1_type_symbol = NULL;
 19859             
 19874             
 19860             /* Get the value from a foo(<param_value>) style call */
 19875             /* Get the value from a foo(<param_value>) style call */
 19861             if (IN1_param_value == NULL)
 19876             if (IN1_param_value == NULL)
 19862               IN1_param_value = function_call_param_iterator.next_nf();
 19877               IN1_param_value = function_call_param_iterator.next_nf();
 19867             
 19882             
 19868             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19883             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19869             {
 19884             {
 19870         
 19885         
 19871                 {
 19886                 {
 19872                     identifier_c IN2_param_name("IN2");
 19887                     symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2"));
 19873                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19888                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19874                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 19889                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name);
 19875                     symbol_c *IN2_type_symbol = NULL;
 19890                     symbol_c *IN2_type_symbol = NULL;
 19876                     
 19891                     
 19877                     /* Get the value from a foo(<param_value>) style call */
 19892                     /* Get the value from a foo(<param_value>) style call */
 19878                     if (IN2_param_value == NULL)
 19893                     if (IN2_param_value == NULL)
 19879                       IN2_param_value = function_call_param_iterator.next_nf();
 19894                       IN2_param_value = function_call_param_iterator.next_nf();
 19887                 
 19902                 
 19888                         function_name = (symbol_c*)(new pragma_c("__find"));
 19903                         function_name = (symbol_c*)(new pragma_c("__find"));
 19889                         
 19904                         
 19890                         if (IN1_type_symbol == NULL)
 19905                         if (IN1_type_symbol == NULL)
 19891                           IN1_type_symbol = last_type_symbol;
 19906                           IN1_type_symbol = last_type_symbol;
 19892                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19907                         ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19893                         
 19908                         
 19894                         if (IN2_type_symbol == NULL)
 19909                         if (IN2_type_symbol == NULL)
 19895                           IN2_type_symbol = last_type_symbol;
 19910                           IN2_type_symbol = last_type_symbol;
 19896                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19911                         ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19897                         symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19912                         symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19898                         break;
 19913                         break;
 19899                         
 19914                         
 19900                     }
 19915                     }
 19901                     
 19916