stage4/generate_c/st_code_gen.c
changeset 217 f5dfadf5de54
parent 210 8387cac2aba6
child 233 3d23a68183d3
equal deleted inserted replaced
216:136d6ae70745 217:f5dfadf5de54
    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 param_name("IN");
    41             identifier_c IN_param_name("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(&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_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 param_name("IN");
    84             identifier_c IN_param_name("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(&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_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 param_name("IN");
   127             identifier_c IN_param_name("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(&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_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 param_name("IN");
   170             identifier_c IN_param_name("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(&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_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 param_name("IN");
   212             identifier_c IN_param_name("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(&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_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 param_name("IN");
   255             identifier_c IN_param_name("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(&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_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 param_name("IN");
   297             identifier_c IN_param_name("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(&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_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 param_name("IN");
   339             identifier_c IN_param_name("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(&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_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 param_name("IN");
   382             identifier_c IN_param_name("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(&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_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 param_name("IN");
   425             identifier_c IN_param_name("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(&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_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 param_name("IN");
   467             identifier_c IN_param_name("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(&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_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 param_name("IN");
   510             identifier_c IN_param_name("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(&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_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 param_name("IN");
   553             identifier_c IN_param_name("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(&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_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 param_name("IN");
   596             identifier_c IN_param_name("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(&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_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 param_name("IN");
   639             identifier_c IN_param_name("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(&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_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 param_name("IN");
   682             identifier_c IN_param_name("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(&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_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 param_name("IN");
   725             identifier_c IN_param_name("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(&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_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 param_name("IN");
   768             identifier_c IN_param_name("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(&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_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 param_name("IN");
   810             identifier_c IN_param_name("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(&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_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 param_name("IN");
   853             identifier_c IN_param_name("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(&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_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 param_name("IN");
   896             identifier_c IN_param_name("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(&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_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 param_name("IN");
   939             identifier_c IN_param_name("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(&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_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 param_name("IN");
   982             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1024             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1067             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1109             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1151             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1194             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1237             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1279             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1322             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1365             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1408             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1451             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1494             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1537             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1580             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1622             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1665             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1708             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1751             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1794             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1836             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1879             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1921             identifier_c IN_param_name("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(&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_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 param_name("IN");
  1963             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2006             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2049             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2091             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2134             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2177             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2220             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2263             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2306             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2349             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2392             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2434             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2477             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2520             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2563             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2606             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2648             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2691             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2733             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2775             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2818             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2861             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2903             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2946             identifier_c IN_param_name("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(&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_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 param_name("IN");
  2989             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3032             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3075             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3118             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3161             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3204             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3246             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3289             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3331             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3373             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3415             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3457             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3499             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3541             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3583             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3625             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3667             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3709             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3751             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3793             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3835             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3877             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3919             identifier_c IN_param_name("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(&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_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 param_name("IN");
  3962             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4005             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4048             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4091             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4133             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4175             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4217             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4260             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4303             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4345             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4388             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4431             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4474             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4517             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4560             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4603             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4646             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4688             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4731             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4773             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4815             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4857             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4899             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4941             identifier_c IN_param_name("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(&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_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 param_name("IN");
  4983             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5025             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5067             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5109             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5151             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5193             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5235             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5277             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5319             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5361             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5403             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5445             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5487             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5529             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5571             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5613             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5655             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5697             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5739             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5781             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5823             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5865             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5907             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5949             identifier_c IN_param_name("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(&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_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 param_name("IN");
  5991             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6034             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6077             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6120             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6163             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6205             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6248             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6290             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6332             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6375             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6417             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6460             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6503             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6546             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6589             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6632             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6675             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6718             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6760             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6803             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6846             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6889             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6932             identifier_c IN_param_name("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(&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_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 param_name("IN");
  6975             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7017             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7060             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7102             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7144             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7187             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7229             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7272             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7315             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7358             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7401             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7444             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7487             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7530             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7572             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7615             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7657             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7699             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7741             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7783             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7825             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7867             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7909             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7951             identifier_c IN_param_name("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(&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_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 param_name("IN");
  7993             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8035             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8077             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8119             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8161             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8203             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8245             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8287             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8329             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8371             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8413             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8456             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8499             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8542             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8585             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8627             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8670             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8712             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8754             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8797             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8840             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8882             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8925             identifier_c IN_param_name("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(&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_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 param_name("IN");
  8968             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9011             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9054             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9097             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9140             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9182             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9225             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9268             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9311             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9354             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9397             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9439             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9482             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9524             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9566             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9609             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9652             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9694             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9737             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9780             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9823             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9866             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9909             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9952             identifier_c IN_param_name("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(&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_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 param_name("IN");
  9994             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10037             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10080             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10123             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10166             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10209             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10251             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10294             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10336             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10378             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10421             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10464             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10506             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10549             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10592             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10635             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10678             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10721             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10764             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10806             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10849             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10892             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10935             identifier_c IN_param_name("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(&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_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 param_name("IN");
 10978             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11021             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11063             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11106             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11148             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11190             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11233             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11276             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11318             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11361             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11404             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11447             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11490             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11533             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11576             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11618             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11661             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11704             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11747             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11790             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11833             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11875             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11918             identifier_c IN_param_name("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(&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_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 param_name("IN");
 11960             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12002             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12045             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12088             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12130             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12173             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12216             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12259             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12302             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12345             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12388             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12430             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12473             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12516             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12559             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12602             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12645             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12687             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12730             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12772             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12814             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12857             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12900             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12942             identifier_c IN_param_name("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(&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_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 param_name("IN");
 12985             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13028             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13071             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13114             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13157             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13200             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13242             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13285             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13328             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13371             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13414             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13457             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13499             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13542             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13584             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13626             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13669             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13712             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13754             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13797             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13840             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13883             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13926             identifier_c IN_param_name("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(&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_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 param_name("IN");
 13969             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14012             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14054             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14097             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14139             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14181             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14223             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14265             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14307             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14349             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14391             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14433             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14475             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14517             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14559             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14601             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14643             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14685             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14727             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14770             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14813             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14856             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14899             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14941             identifier_c IN_param_name("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(&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_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 param_name("IN");
 14984             identifier_c IN_param_name("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(&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_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 param_name("IN");
 15026             identifier_c IN_param_name("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(&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_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 param_name("IN");
 15068             identifier_c IN_param_name("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(&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_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 param_name("IN");
 15111             identifier_c IN_param_name("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(&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_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 param_name("IN");
 15154             identifier_c IN_param_name("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(&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_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 param_name("IN");
 15196             identifier_c IN_param_name("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(&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_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 param_name("IN");
 15239             identifier_c IN_param_name("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(&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_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 param_name("IN");
 15282             identifier_c IN_param_name("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(&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_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 param_name("IN");
 15325             identifier_c IN_param_name("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(&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_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 param_name("IN");
 15368             identifier_c IN_param_name("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(&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_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 param_name("IN");
 15411             identifier_c IN_param_name("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(&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_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 param_name("IN");
 15454             identifier_c IN_param_name("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(&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_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 param_name("IN");
 15497             identifier_c IN_param_name("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(&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_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 param_name("IN");
 15539             identifier_c IN_param_name("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(&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_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                 break;
 15561                 break;
 15562                 
 15562                 
 15563             }
 15563             }
 15575     case function_bcd_to_udint :
 15575     case function_bcd_to_udint :
 15576     {
 15576     {
 15577         symbol_c *last_type_symbol = NULL;
 15577         symbol_c *last_type_symbol = NULL;
 15578 
 15578 
 15579         {
 15579         {
 15580             identifier_c param_name("IN");
 15580             identifier_c IN_param_name("IN");
 15581             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15581             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15582             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 15582             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15583             symbol_c *IN_type_symbol = NULL;
 15583             symbol_c *IN_type_symbol = NULL;
 15584             
 15584             
 15585             /* Get the value from a foo(<param_value>) style call */
 15585             /* Get the value from a foo(<param_value>) style call */
 15586             if (IN_param_value == NULL)
 15586             if (IN_param_value == NULL)
 15587               IN_param_value = function_call_param_iterator.next_nf();
 15587               IN_param_value = function_call_param_iterator.next_nf();
 15595         
 15595         
 15596                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15596                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15597                 
 15597                 
 15598                 if (IN_type_symbol == NULL)
 15598                 if (IN_type_symbol == NULL)
 15599                   IN_type_symbol = last_type_symbol;
 15599                   IN_type_symbol = last_type_symbol;
 15600                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15600                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15601                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 15601                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
 15602                 function_type_prefix = return_type_symbol;
 15602                 function_type_prefix = return_type_symbol;
 15603                 break;
 15603                 break;
 15604                 
 15604                 
 15605             }
 15605             }
 15617     case function_bcd_to_uint :
 15617     case function_bcd_to_uint :
 15618     {
 15618     {
 15619         symbol_c *last_type_symbol = NULL;
 15619         symbol_c *last_type_symbol = NULL;
 15620 
 15620 
 15621         {
 15621         {
 15622             identifier_c param_name("IN");
 15622             identifier_c IN_param_name("IN");
 15623             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15623             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15624             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 15624             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15625             symbol_c *IN_type_symbol = NULL;
 15625             symbol_c *IN_type_symbol = NULL;
 15626             
 15626             
 15627             /* Get the value from a foo(<param_value>) style call */
 15627             /* Get the value from a foo(<param_value>) style call */
 15628             if (IN_param_value == NULL)
 15628             if (IN_param_value == NULL)
 15629               IN_param_value = function_call_param_iterator.next_nf();
 15629               IN_param_value = function_call_param_iterator.next_nf();
 15637         
 15637         
 15638                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15638                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15639                 
 15639                 
 15640                 if (IN_type_symbol == NULL)
 15640                 if (IN_type_symbol == NULL)
 15641                   IN_type_symbol = last_type_symbol;
 15641                   IN_type_symbol = last_type_symbol;
 15642                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15642                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15643                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 15643                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
 15644                 function_type_prefix = return_type_symbol;
 15644                 function_type_prefix = return_type_symbol;
 15645                 break;
 15645                 break;
 15646                 
 15646                 
 15647             }
 15647             }
 15659     case function_bcd_to_ulint :
 15659     case function_bcd_to_ulint :
 15660     {
 15660     {
 15661         symbol_c *last_type_symbol = NULL;
 15661         symbol_c *last_type_symbol = NULL;
 15662 
 15662 
 15663         {
 15663         {
 15664             identifier_c param_name("IN");
 15664             identifier_c IN_param_name("IN");
 15665             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15665             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15666             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 15666             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15667             symbol_c *IN_type_symbol = NULL;
 15667             symbol_c *IN_type_symbol = NULL;
 15668             
 15668             
 15669             /* Get the value from a foo(<param_value>) style call */
 15669             /* Get the value from a foo(<param_value>) style call */
 15670             if (IN_param_value == NULL)
 15670             if (IN_param_value == NULL)
 15671               IN_param_value = function_call_param_iterator.next_nf();
 15671               IN_param_value = function_call_param_iterator.next_nf();
 15679         
 15679         
 15680                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15680                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15681                 
 15681                 
 15682                 if (IN_type_symbol == NULL)
 15682                 if (IN_type_symbol == NULL)
 15683                   IN_type_symbol = last_type_symbol;
 15683                   IN_type_symbol = last_type_symbol;
 15684                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15684                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15685                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 15685                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
 15686                 function_type_prefix = return_type_symbol;
 15686                 function_type_prefix = return_type_symbol;
 15687                 break;
 15687                 break;
 15688                 
 15688                 
 15689             }
 15689             }
 15701     case function_bcd_to_usint :
 15701     case function_bcd_to_usint :
 15702     {
 15702     {
 15703         symbol_c *last_type_symbol = NULL;
 15703         symbol_c *last_type_symbol = NULL;
 15704 
 15704 
 15705         {
 15705         {
 15706             identifier_c param_name("IN");
 15706             identifier_c IN_param_name("IN");
 15707             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15707             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15708             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 15708             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15709             symbol_c *IN_type_symbol = NULL;
 15709             symbol_c *IN_type_symbol = NULL;
 15710             
 15710             
 15711             /* Get the value from a foo(<param_value>) style call */
 15711             /* Get the value from a foo(<param_value>) style call */
 15712             if (IN_param_value == NULL)
 15712             if (IN_param_value == NULL)
 15713               IN_param_value = function_call_param_iterator.next_nf();
 15713               IN_param_value = function_call_param_iterator.next_nf();
 15721         
 15721         
 15722                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15722                 function_name = (symbol_c*)(new pragma_c("__bcd_to_uint"));
 15723                 
 15723                 
 15724                 if (IN_type_symbol == NULL)
 15724                 if (IN_type_symbol == NULL)
 15725                   IN_type_symbol = last_type_symbol;
 15725                   IN_type_symbol = last_type_symbol;
 15726                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15726                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15727                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 15727                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
 15728                 function_type_prefix = return_type_symbol;
 15728                 function_type_prefix = return_type_symbol;
 15729                 break;
 15729                 break;
 15730                 
 15730                 
 15731             }
 15731             }
 15743     case function_udint_to_bcd :
 15743     case function_udint_to_bcd :
 15744     {
 15744     {
 15745         symbol_c *last_type_symbol = NULL;
 15745         symbol_c *last_type_symbol = NULL;
 15746 
 15746 
 15747         {
 15747         {
 15748             identifier_c param_name("IN");
 15748             identifier_c IN_param_name("IN");
 15749             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15749             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15750             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 15750             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15751             symbol_c *IN_type_symbol = NULL;
 15751             symbol_c *IN_type_symbol = NULL;
 15752             
 15752             
 15753             /* Get the value from a foo(<param_value>) style call */
 15753             /* Get the value from a foo(<param_value>) style call */
 15754             if (IN_param_value == NULL)
 15754             if (IN_param_value == NULL)
 15755               IN_param_value = function_call_param_iterator.next_nf();
 15755               IN_param_value = function_call_param_iterator.next_nf();
 15763         
 15763         
 15764                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15764                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15765                 
 15765                 
 15766                 if (IN_type_symbol == NULL)
 15766                 if (IN_type_symbol == NULL)
 15767                   IN_type_symbol = last_type_symbol;
 15767                   IN_type_symbol = last_type_symbol;
 15768                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15768                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15769                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15769                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15770                 function_type_prefix = return_type_symbol;
 15770                 function_type_prefix = return_type_symbol;
 15771                 break;
 15771                 break;
 15772                 
 15772                 
 15773             }
 15773             }
 15785     case function_uint_to_bcd :
 15785     case function_uint_to_bcd :
 15786     {
 15786     {
 15787         symbol_c *last_type_symbol = NULL;
 15787         symbol_c *last_type_symbol = NULL;
 15788 
 15788 
 15789         {
 15789         {
 15790             identifier_c param_name("IN");
 15790             identifier_c IN_param_name("IN");
 15791             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15791             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15792             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 15792             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15793             symbol_c *IN_type_symbol = NULL;
 15793             symbol_c *IN_type_symbol = NULL;
 15794             
 15794             
 15795             /* Get the value from a foo(<param_value>) style call */
 15795             /* Get the value from a foo(<param_value>) style call */
 15796             if (IN_param_value == NULL)
 15796             if (IN_param_value == NULL)
 15797               IN_param_value = function_call_param_iterator.next_nf();
 15797               IN_param_value = function_call_param_iterator.next_nf();
 15805         
 15805         
 15806                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15806                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15807                 
 15807                 
 15808                 if (IN_type_symbol == NULL)
 15808                 if (IN_type_symbol == NULL)
 15809                   IN_type_symbol = last_type_symbol;
 15809                   IN_type_symbol = last_type_symbol;
 15810                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15810                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15811                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15811                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15812                 function_type_prefix = return_type_symbol;
 15812                 function_type_prefix = return_type_symbol;
 15813                 break;
 15813                 break;
 15814                 
 15814                 
 15815             }
 15815             }
 15827     case function_usint_to_bcd :
 15827     case function_usint_to_bcd :
 15828     {
 15828     {
 15829         symbol_c *last_type_symbol = NULL;
 15829         symbol_c *last_type_symbol = NULL;
 15830 
 15830 
 15831         {
 15831         {
 15832             identifier_c param_name("IN");
 15832             identifier_c IN_param_name("IN");
 15833             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15833             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15834             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 15834             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15835             symbol_c *IN_type_symbol = NULL;
 15835             symbol_c *IN_type_symbol = NULL;
 15836             
 15836             
 15837             /* Get the value from a foo(<param_value>) style call */
 15837             /* Get the value from a foo(<param_value>) style call */
 15838             if (IN_param_value == NULL)
 15838             if (IN_param_value == NULL)
 15839               IN_param_value = function_call_param_iterator.next_nf();
 15839               IN_param_value = function_call_param_iterator.next_nf();
 15847         
 15847         
 15848                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15848                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15849                 
 15849                 
 15850                 if (IN_type_symbol == NULL)
 15850                 if (IN_type_symbol == NULL)
 15851                   IN_type_symbol = last_type_symbol;
 15851                   IN_type_symbol = last_type_symbol;
 15852                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15852                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15853                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15853                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15854                 function_type_prefix = return_type_symbol;
 15854                 function_type_prefix = return_type_symbol;
 15855                 break;
 15855                 break;
 15856                 
 15856                 
 15857             }
 15857             }
 15869     case function_ulint_to_bcd :
 15869     case function_ulint_to_bcd :
 15870     {
 15870     {
 15871         symbol_c *last_type_symbol = NULL;
 15871         symbol_c *last_type_symbol = NULL;
 15872 
 15872 
 15873         {
 15873         {
 15874             identifier_c param_name("IN");
 15874             identifier_c IN_param_name("IN");
 15875             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15875             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15876             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 15876             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15877             symbol_c *IN_type_symbol = NULL;
 15877             symbol_c *IN_type_symbol = NULL;
 15878             
 15878             
 15879             /* Get the value from a foo(<param_value>) style call */
 15879             /* Get the value from a foo(<param_value>) style call */
 15880             if (IN_param_value == NULL)
 15880             if (IN_param_value == NULL)
 15881               IN_param_value = function_call_param_iterator.next_nf();
 15881               IN_param_value = function_call_param_iterator.next_nf();
 15889         
 15889         
 15890                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15890                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 15891                 
 15891                 
 15892                 if (IN_type_symbol == NULL)
 15892                 if (IN_type_symbol == NULL)
 15893                   IN_type_symbol = last_type_symbol;
 15893                   IN_type_symbol = last_type_symbol;
 15894                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15894                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15895                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15895                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 15896                 function_type_prefix = return_type_symbol;
 15896                 function_type_prefix = return_type_symbol;
 15897                 break;
 15897                 break;
 15898                 
 15898                 
 15899             }
 15899             }
 15911     case function_date_and_time_to_time_of_day :
 15911     case function_date_and_time_to_time_of_day :
 15912     {
 15912     {
 15913         symbol_c *last_type_symbol = NULL;
 15913         symbol_c *last_type_symbol = NULL;
 15914 
 15914 
 15915         {
 15915         {
 15916             identifier_c param_name("IN");
 15916             identifier_c IN_param_name("IN");
 15917             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15917             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15918             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 15918             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15919             symbol_c *IN_type_symbol = NULL;
 15919             symbol_c *IN_type_symbol = NULL;
 15920             
 15920             
 15921             /* Get the value from a foo(<param_value>) style call */
 15921             /* Get the value from a foo(<param_value>) style call */
 15922             if (IN_param_value == NULL)
 15922             if (IN_param_value == NULL)
 15923               IN_param_value = function_call_param_iterator.next_nf();
 15923               IN_param_value = function_call_param_iterator.next_nf();
 15931         
 15931         
 15932                 function_name = (symbol_c*)(new pragma_c("__date_and_time_to_time_of_day"));
 15932                 function_name = (symbol_c*)(new pragma_c("__date_and_time_to_time_of_day"));
 15933                 
 15933                 
 15934                 if (IN_type_symbol == NULL)
 15934                 if (IN_type_symbol == NULL)
 15935                   IN_type_symbol = last_type_symbol;
 15935                   IN_type_symbol = last_type_symbol;
 15936                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15936                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15937                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 15937                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 15938                 break;
 15938                 break;
 15939                 
 15939                 
 15940             }
 15940             }
 15941             
 15941             
 15952     case function_date_and_time_to_date :
 15952     case function_date_and_time_to_date :
 15953     {
 15953     {
 15954         symbol_c *last_type_symbol = NULL;
 15954         symbol_c *last_type_symbol = NULL;
 15955 
 15955 
 15956         {
 15956         {
 15957             identifier_c param_name("IN");
 15957             identifier_c IN_param_name("IN");
 15958             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15958             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15959             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 15959             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 15960             symbol_c *IN_type_symbol = NULL;
 15960             symbol_c *IN_type_symbol = NULL;
 15961             
 15961             
 15962             /* Get the value from a foo(<param_value>) style call */
 15962             /* Get the value from a foo(<param_value>) style call */
 15963             if (IN_param_value == NULL)
 15963             if (IN_param_value == NULL)
 15964               IN_param_value = function_call_param_iterator.next_nf();
 15964               IN_param_value = function_call_param_iterator.next_nf();
 15972         
 15972         
 15973                 function_name = (symbol_c*)(new pragma_c("__date_and_time_to_date"));
 15973                 function_name = (symbol_c*)(new pragma_c("__date_and_time_to_date"));
 15974                 
 15974                 
 15975                 if (IN_type_symbol == NULL)
 15975                 if (IN_type_symbol == NULL)
 15976                   IN_type_symbol = last_type_symbol;
 15976                   IN_type_symbol = last_type_symbol;
 15977                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15977                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 15978                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 15978                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
 15979                 break;
 15979                 break;
 15980                 
 15980                 
 15981             }
 15981             }
 15982             
 15982             
 15993     case function_abs :
 15993     case function_abs :
 15994     {
 15994     {
 15995         symbol_c *last_type_symbol = NULL;
 15995         symbol_c *last_type_symbol = NULL;
 15996 
 15996 
 15997         {
 15997         {
 15998             identifier_c param_name("IN");
 15998             identifier_c IN_param_name("IN");
 15999             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15999             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16000             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 16000             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16001             symbol_c *IN_type_symbol = NULL;
 16001             symbol_c *IN_type_symbol = NULL;
 16002             
 16002             
 16003             /* Get the value from a foo(<param_value>) style call */
 16003             /* Get the value from a foo(<param_value>) style call */
 16004             if (IN_param_value == NULL)
 16004             if (IN_param_value == NULL)
 16005               IN_param_value = function_call_param_iterator.next_nf();
 16005               IN_param_value = function_call_param_iterator.next_nf();
 16013         
 16013         
 16014                 function_name = (symbol_c*)(new pragma_c("__abs_"));
 16014                 function_name = (symbol_c*)(new pragma_c("__abs_"));
 16015                 
 16015                 
 16016                 if (IN_type_symbol == NULL)
 16016                 if (IN_type_symbol == NULL)
 16017                   IN_type_symbol = last_type_symbol;
 16017                   IN_type_symbol = last_type_symbol;
 16018                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16018                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16019                 symbol_c * return_type_symbol = IN_type_symbol;
 16019                 symbol_c * return_type_symbol = IN_type_symbol;
 16020                 function_type_suffix = IN_type_symbol;
 16020                 function_type_suffix = IN_type_symbol;
 16021                 break;
 16021                 break;
 16022                 
 16022                 
 16023             }
 16023             }
 16035     case function_sqrt :
 16035     case function_sqrt :
 16036     {
 16036     {
 16037         symbol_c *last_type_symbol = NULL;
 16037         symbol_c *last_type_symbol = NULL;
 16038 
 16038 
 16039         {
 16039         {
 16040             identifier_c param_name("IN");
 16040             identifier_c IN_param_name("IN");
 16041             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16041             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16042             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 16042             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16043             symbol_c *IN_type_symbol = NULL;
 16043             symbol_c *IN_type_symbol = NULL;
 16044             
 16044             
 16045             /* Get the value from a foo(<param_value>) style call */
 16045             /* Get the value from a foo(<param_value>) style call */
 16046             if (IN_param_value == NULL)
 16046             if (IN_param_value == NULL)
 16047               IN_param_value = function_call_param_iterator.next_nf();
 16047               IN_param_value = function_call_param_iterator.next_nf();
 16055         
 16055         
 16056                 function_name = (symbol_c*)(new pragma_c("__sqrt_"));
 16056                 function_name = (symbol_c*)(new pragma_c("__sqrt_"));
 16057                 
 16057                 
 16058                 if (IN_type_symbol == NULL)
 16058                 if (IN_type_symbol == NULL)
 16059                   IN_type_symbol = last_type_symbol;
 16059                   IN_type_symbol = last_type_symbol;
 16060                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16060                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16061                 symbol_c * return_type_symbol = IN_type_symbol;
 16061                 symbol_c * return_type_symbol = IN_type_symbol;
 16062                 function_type_suffix = IN_type_symbol;
 16062                 function_type_suffix = IN_type_symbol;
 16063                 break;
 16063                 break;
 16064                 
 16064                 
 16065             }
 16065             }
 16077     case function_ln :
 16077     case function_ln :
 16078     {
 16078     {
 16079         symbol_c *last_type_symbol = NULL;
 16079         symbol_c *last_type_symbol = NULL;
 16080 
 16080 
 16081         {
 16081         {
 16082             identifier_c param_name("IN");
 16082             identifier_c IN_param_name("IN");
 16083             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16083             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16084             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 16084             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16085             symbol_c *IN_type_symbol = NULL;
 16085             symbol_c *IN_type_symbol = NULL;
 16086             
 16086             
 16087             /* Get the value from a foo(<param_value>) style call */
 16087             /* Get the value from a foo(<param_value>) style call */
 16088             if (IN_param_value == NULL)
 16088             if (IN_param_value == NULL)
 16089               IN_param_value = function_call_param_iterator.next_nf();
 16089               IN_param_value = function_call_param_iterator.next_nf();
 16097         
 16097         
 16098                 function_name = (symbol_c*)(new pragma_c("__ln_"));
 16098                 function_name = (symbol_c*)(new pragma_c("__ln_"));
 16099                 
 16099                 
 16100                 if (IN_type_symbol == NULL)
 16100                 if (IN_type_symbol == NULL)
 16101                   IN_type_symbol = last_type_symbol;
 16101                   IN_type_symbol = last_type_symbol;
 16102                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16102                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16103                 symbol_c * return_type_symbol = IN_type_symbol;
 16103                 symbol_c * return_type_symbol = IN_type_symbol;
 16104                 function_type_suffix = IN_type_symbol;
 16104                 function_type_suffix = IN_type_symbol;
 16105                 break;
 16105                 break;
 16106                 
 16106                 
 16107             }
 16107             }
 16119     case function_log :
 16119     case function_log :
 16120     {
 16120     {
 16121         symbol_c *last_type_symbol = NULL;
 16121         symbol_c *last_type_symbol = NULL;
 16122 
 16122 
 16123         {
 16123         {
 16124             identifier_c param_name("IN");
 16124             identifier_c IN_param_name("IN");
 16125             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16125             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16126             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 16126             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16127             symbol_c *IN_type_symbol = NULL;
 16127             symbol_c *IN_type_symbol = NULL;
 16128             
 16128             
 16129             /* Get the value from a foo(<param_value>) style call */
 16129             /* Get the value from a foo(<param_value>) style call */
 16130             if (IN_param_value == NULL)
 16130             if (IN_param_value == NULL)
 16131               IN_param_value = function_call_param_iterator.next_nf();
 16131               IN_param_value = function_call_param_iterator.next_nf();
 16139         
 16139         
 16140                 function_name = (symbol_c*)(new pragma_c("__log_"));
 16140                 function_name = (symbol_c*)(new pragma_c("__log_"));
 16141                 
 16141                 
 16142                 if (IN_type_symbol == NULL)
 16142                 if (IN_type_symbol == NULL)
 16143                   IN_type_symbol = last_type_symbol;
 16143                   IN_type_symbol = last_type_symbol;
 16144                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16144                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16145                 symbol_c * return_type_symbol = IN_type_symbol;
 16145                 symbol_c * return_type_symbol = IN_type_symbol;
 16146                 function_type_suffix = IN_type_symbol;
 16146                 function_type_suffix = IN_type_symbol;
 16147                 break;
 16147                 break;
 16148                 
 16148                 
 16149             }
 16149             }
 16161     case function_exp :
 16161     case function_exp :
 16162     {
 16162     {
 16163         symbol_c *last_type_symbol = NULL;
 16163         symbol_c *last_type_symbol = NULL;
 16164 
 16164 
 16165         {
 16165         {
 16166             identifier_c param_name("IN");
 16166             identifier_c IN_param_name("IN");
 16167             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16167             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16168             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 16168             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16169             symbol_c *IN_type_symbol = NULL;
 16169             symbol_c *IN_type_symbol = NULL;
 16170             
 16170             
 16171             /* Get the value from a foo(<param_value>) style call */
 16171             /* Get the value from a foo(<param_value>) style call */
 16172             if (IN_param_value == NULL)
 16172             if (IN_param_value == NULL)
 16173               IN_param_value = function_call_param_iterator.next_nf();
 16173               IN_param_value = function_call_param_iterator.next_nf();
 16181         
 16181         
 16182                 function_name = (symbol_c*)(new pragma_c("__exp_"));
 16182                 function_name = (symbol_c*)(new pragma_c("__exp_"));
 16183                 
 16183                 
 16184                 if (IN_type_symbol == NULL)
 16184                 if (IN_type_symbol == NULL)
 16185                   IN_type_symbol = last_type_symbol;
 16185                   IN_type_symbol = last_type_symbol;
 16186                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16186                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16187                 symbol_c * return_type_symbol = IN_type_symbol;
 16187                 symbol_c * return_type_symbol = IN_type_symbol;
 16188                 function_type_suffix = IN_type_symbol;
 16188                 function_type_suffix = IN_type_symbol;
 16189                 break;
 16189                 break;
 16190                 
 16190                 
 16191             }
 16191             }
 16203     case function_sin :
 16203     case function_sin :
 16204     {
 16204     {
 16205         symbol_c *last_type_symbol = NULL;
 16205         symbol_c *last_type_symbol = NULL;
 16206 
 16206 
 16207         {
 16207         {
 16208             identifier_c param_name("IN");
 16208             identifier_c IN_param_name("IN");
 16209             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16209             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16210             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 16210             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16211             symbol_c *IN_type_symbol = NULL;
 16211             symbol_c *IN_type_symbol = NULL;
 16212             
 16212             
 16213             /* Get the value from a foo(<param_value>) style call */
 16213             /* Get the value from a foo(<param_value>) style call */
 16214             if (IN_param_value == NULL)
 16214             if (IN_param_value == NULL)
 16215               IN_param_value = function_call_param_iterator.next_nf();
 16215               IN_param_value = function_call_param_iterator.next_nf();
 16223         
 16223         
 16224                 function_name = (symbol_c*)(new pragma_c("__sin_"));
 16224                 function_name = (symbol_c*)(new pragma_c("__sin_"));
 16225                 
 16225                 
 16226                 if (IN_type_symbol == NULL)
 16226                 if (IN_type_symbol == NULL)
 16227                   IN_type_symbol = last_type_symbol;
 16227                   IN_type_symbol = last_type_symbol;
 16228                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16228                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16229                 symbol_c * return_type_symbol = IN_type_symbol;
 16229                 symbol_c * return_type_symbol = IN_type_symbol;
 16230                 function_type_suffix = IN_type_symbol;
 16230                 function_type_suffix = IN_type_symbol;
 16231                 break;
 16231                 break;
 16232                 
 16232                 
 16233             }
 16233             }
 16245     case function_cos :
 16245     case function_cos :
 16246     {
 16246     {
 16247         symbol_c *last_type_symbol = NULL;
 16247         symbol_c *last_type_symbol = NULL;
 16248 
 16248 
 16249         {
 16249         {
 16250             identifier_c param_name("IN");
 16250             identifier_c IN_param_name("IN");
 16251             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16251             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16252             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 16252             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16253             symbol_c *IN_type_symbol = NULL;
 16253             symbol_c *IN_type_symbol = NULL;
 16254             
 16254             
 16255             /* Get the value from a foo(<param_value>) style call */
 16255             /* Get the value from a foo(<param_value>) style call */
 16256             if (IN_param_value == NULL)
 16256             if (IN_param_value == NULL)
 16257               IN_param_value = function_call_param_iterator.next_nf();
 16257               IN_param_value = function_call_param_iterator.next_nf();
 16265         
 16265         
 16266                 function_name = (symbol_c*)(new pragma_c("__cos_"));
 16266                 function_name = (symbol_c*)(new pragma_c("__cos_"));
 16267                 
 16267                 
 16268                 if (IN_type_symbol == NULL)
 16268                 if (IN_type_symbol == NULL)
 16269                   IN_type_symbol = last_type_symbol;
 16269                   IN_type_symbol = last_type_symbol;
 16270                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16270                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16271                 symbol_c * return_type_symbol = IN_type_symbol;
 16271                 symbol_c * return_type_symbol = IN_type_symbol;
 16272                 function_type_suffix = IN_type_symbol;
 16272                 function_type_suffix = IN_type_symbol;
 16273                 break;
 16273                 break;
 16274                 
 16274                 
 16275             }
 16275             }
 16287     case function_tan :
 16287     case function_tan :
 16288     {
 16288     {
 16289         symbol_c *last_type_symbol = NULL;
 16289         symbol_c *last_type_symbol = NULL;
 16290 
 16290 
 16291         {
 16291         {
 16292             identifier_c param_name("IN");
 16292             identifier_c IN_param_name("IN");
 16293             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16293             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16294             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 16294             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16295             symbol_c *IN_type_symbol = NULL;
 16295             symbol_c *IN_type_symbol = NULL;
 16296             
 16296             
 16297             /* Get the value from a foo(<param_value>) style call */
 16297             /* Get the value from a foo(<param_value>) style call */
 16298             if (IN_param_value == NULL)
 16298             if (IN_param_value == NULL)
 16299               IN_param_value = function_call_param_iterator.next_nf();
 16299               IN_param_value = function_call_param_iterator.next_nf();
 16307         
 16307         
 16308                 function_name = (symbol_c*)(new pragma_c("__tan_"));
 16308                 function_name = (symbol_c*)(new pragma_c("__tan_"));
 16309                 
 16309                 
 16310                 if (IN_type_symbol == NULL)
 16310                 if (IN_type_symbol == NULL)
 16311                   IN_type_symbol = last_type_symbol;
 16311                   IN_type_symbol = last_type_symbol;
 16312                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16312                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16313                 symbol_c * return_type_symbol = IN_type_symbol;
 16313                 symbol_c * return_type_symbol = IN_type_symbol;
 16314                 function_type_suffix = IN_type_symbol;
 16314                 function_type_suffix = IN_type_symbol;
 16315                 break;
 16315                 break;
 16316                 
 16316                 
 16317             }
 16317             }
 16329     case function_asin :
 16329     case function_asin :
 16330     {
 16330     {
 16331         symbol_c *last_type_symbol = NULL;
 16331         symbol_c *last_type_symbol = NULL;
 16332 
 16332 
 16333         {
 16333         {
 16334             identifier_c param_name("IN");
 16334             identifier_c IN_param_name("IN");
 16335             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16335             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16336             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 16336             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16337             symbol_c *IN_type_symbol = NULL;
 16337             symbol_c *IN_type_symbol = NULL;
 16338             
 16338             
 16339             /* Get the value from a foo(<param_value>) style call */
 16339             /* Get the value from a foo(<param_value>) style call */
 16340             if (IN_param_value == NULL)
 16340             if (IN_param_value == NULL)
 16341               IN_param_value = function_call_param_iterator.next_nf();
 16341               IN_param_value = function_call_param_iterator.next_nf();
 16349         
 16349         
 16350                 function_name = (symbol_c*)(new pragma_c("__asin_"));
 16350                 function_name = (symbol_c*)(new pragma_c("__asin_"));
 16351                 
 16351                 
 16352                 if (IN_type_symbol == NULL)
 16352                 if (IN_type_symbol == NULL)
 16353                   IN_type_symbol = last_type_symbol;
 16353                   IN_type_symbol = last_type_symbol;
 16354                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16354                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16355                 symbol_c * return_type_symbol = IN_type_symbol;
 16355                 symbol_c * return_type_symbol = IN_type_symbol;
 16356                 function_type_suffix = IN_type_symbol;
 16356                 function_type_suffix = IN_type_symbol;
 16357                 break;
 16357                 break;
 16358                 
 16358                 
 16359             }
 16359             }
 16371     case function_acos :
 16371     case function_acos :
 16372     {
 16372     {
 16373         symbol_c *last_type_symbol = NULL;
 16373         symbol_c *last_type_symbol = NULL;
 16374 
 16374 
 16375         {
 16375         {
 16376             identifier_c param_name("IN");
 16376             identifier_c IN_param_name("IN");
 16377             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16377             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16378             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 16378             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16379             symbol_c *IN_type_symbol = NULL;
 16379             symbol_c *IN_type_symbol = NULL;
 16380             
 16380             
 16381             /* Get the value from a foo(<param_value>) style call */
 16381             /* Get the value from a foo(<param_value>) style call */
 16382             if (IN_param_value == NULL)
 16382             if (IN_param_value == NULL)
 16383               IN_param_value = function_call_param_iterator.next_nf();
 16383               IN_param_value = function_call_param_iterator.next_nf();
 16391         
 16391         
 16392                 function_name = (symbol_c*)(new pragma_c("__acos_"));
 16392                 function_name = (symbol_c*)(new pragma_c("__acos_"));
 16393                 
 16393                 
 16394                 if (IN_type_symbol == NULL)
 16394                 if (IN_type_symbol == NULL)
 16395                   IN_type_symbol = last_type_symbol;
 16395                   IN_type_symbol = last_type_symbol;
 16396                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16396                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16397                 symbol_c * return_type_symbol = IN_type_symbol;
 16397                 symbol_c * return_type_symbol = IN_type_symbol;
 16398                 function_type_suffix = IN_type_symbol;
 16398                 function_type_suffix = IN_type_symbol;
 16399                 break;
 16399                 break;
 16400                 
 16400                 
 16401             }
 16401             }
 16413     case function_atan :
 16413     case function_atan :
 16414     {
 16414     {
 16415         symbol_c *last_type_symbol = NULL;
 16415         symbol_c *last_type_symbol = NULL;
 16416 
 16416 
 16417         {
 16417         {
 16418             identifier_c param_name("IN");
 16418             identifier_c IN_param_name("IN");
 16419             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16419             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16420             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 16420             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 16421             symbol_c *IN_type_symbol = NULL;
 16421             symbol_c *IN_type_symbol = NULL;
 16422             
 16422             
 16423             /* Get the value from a foo(<param_value>) style call */
 16423             /* Get the value from a foo(<param_value>) style call */
 16424             if (IN_param_value == NULL)
 16424             if (IN_param_value == NULL)
 16425               IN_param_value = function_call_param_iterator.next_nf();
 16425               IN_param_value = function_call_param_iterator.next_nf();
 16433         
 16433         
 16434                 function_name = (symbol_c*)(new pragma_c("__atan_"));
 16434                 function_name = (symbol_c*)(new pragma_c("__atan_"));
 16435                 
 16435                 
 16436                 if (IN_type_symbol == NULL)
 16436                 if (IN_type_symbol == NULL)
 16437                   IN_type_symbol = last_type_symbol;
 16437                   IN_type_symbol = last_type_symbol;
 16438                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16438                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 16439                 symbol_c * return_type_symbol = IN_type_symbol;
 16439                 symbol_c * return_type_symbol = IN_type_symbol;
 16440                 function_type_suffix = IN_type_symbol;
 16440                 function_type_suffix = IN_type_symbol;
 16441                 break;
 16441                 break;
 16442                 
 16442                 
 16443             }
 16443             }
 16455     case function_add :
 16455     case function_add :
 16456     {
 16456     {
 16457         symbol_c *last_type_symbol = NULL;
 16457         symbol_c *last_type_symbol = NULL;
 16458 
 16458 
 16459         {
 16459         {
 16460             identifier_c param_name("IN1");
 16460             identifier_c IN1_param_name("IN1");
 16461             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16461             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16462             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 16462             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 16463             symbol_c *IN1_type_symbol = NULL;
 16463             symbol_c *IN1_type_symbol = NULL;
 16464             
 16464             
 16465             /* Get the value from a foo(<param_value>) style call */
 16465             /* Get the value from a foo(<param_value>) style call */
 16466             if (IN1_param_value == NULL)
 16466             if (IN1_param_value == NULL)
 16467               IN1_param_value = function_call_param_iterator.next_nf();
 16467               IN1_param_value = function_call_param_iterator.next_nf();
 16472             
 16472             
 16473             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 16473             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 16474             {
 16474             {
 16475         
 16475         
 16476                 {
 16476                 {
 16477                     identifier_c param_name("IN2");
 16477                     identifier_c IN2_param_name("IN2");
 16478                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16478                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16479                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16479                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16480                     symbol_c *IN2_type_symbol = NULL;
 16480                     symbol_c *IN2_type_symbol = NULL;
 16481                     
 16481                     
 16482                     /* Get the value from a foo(<param_value>) style call */
 16482                     /* Get the value from a foo(<param_value>) style call */
 16483                     if (IN2_param_value == NULL)
 16483                     if (IN2_param_value == NULL)
 16484                       IN2_param_value = function_call_param_iterator.next_nf();
 16484                       IN2_param_value = function_call_param_iterator.next_nf();
 16494                         
 16494                         
 16495                         if (nb_param < 2)
 16495                         if (nb_param < 2)
 16496                           nb_param = 2;
 16496                           nb_param = 2;
 16497                         char* nb_param_str = new char[10];
 16497                         char* nb_param_str = new char[10];
 16498                         sprintf(nb_param_str, "%d", nb_param);
 16498                         sprintf(nb_param_str, "%d", nb_param);
 16499                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 16499                         identifier_c nb_param_name("nb_param");
       
 16500                         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)
 16500                         
 16501                         
 16501                         if (IN1_type_symbol == NULL)
 16502                         if (IN1_type_symbol == NULL)
 16502                           IN1_type_symbol = last_type_symbol;
 16503                           IN1_type_symbol = last_type_symbol;
 16503                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16504                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16504                         
 16505                         
 16505                         if (IN2_type_symbol == NULL)
 16506                         if (IN2_type_symbol == NULL)
 16506                           IN2_type_symbol = last_type_symbol;
 16507                           IN2_type_symbol = last_type_symbol;
 16507                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16508                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16508                         
 16509                         
 16509                         int base_num = 3;
 16510                         int base_num = 3;
 16510                         symbol_c *param_value = NULL;
 16511                         symbol_c *param_value = NULL;
 16511                         do{
 16512                         do{
 16512                             char my_name[10];
 16513                             char my_name[10];
 16522                             if (param_value != NULL){
 16523                             if (param_value != NULL){
 16523                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16524                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16524                                 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 ;
 16525                                 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 ;
 16525                             
 16526                             
 16526                                 /*Function specific CODE */
 16527                                 /*Function specific CODE */
 16527                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 16528                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 16528                             }
 16529                             }
 16529                             
 16530                             
 16530                         }while(param_value != NULL);
 16531                         }while(param_value != NULL);
 16531                         symbol_c * return_type_symbol;
 16532                         symbol_c * return_type_symbol;
 16532                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 16533                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 16548             
 16549             
 16549             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 16550             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 16550             {
 16551             {
 16551         
 16552         
 16552                 {
 16553                 {
 16553                     identifier_c param_name("IN2");
 16554                     identifier_c IN2_param_name("IN2");
 16554                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16555                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16555                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16556                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16556                     symbol_c *IN2_type_symbol = NULL;
 16557                     symbol_c *IN2_type_symbol = NULL;
 16557                     
 16558                     
 16558                     /* Get the value from a foo(<param_value>) style call */
 16559                     /* Get the value from a foo(<param_value>) style call */
 16559                     if (IN2_param_value == NULL)
 16560                     if (IN2_param_value == NULL)
 16560                       IN2_param_value = function_call_param_iterator.next_nf();
 16561                       IN2_param_value = function_call_param_iterator.next_nf();
 16568                 
 16569                 
 16569                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 16570                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 16570                         
 16571                         
 16571                         if (IN1_type_symbol == NULL)
 16572                         if (IN1_type_symbol == NULL)
 16572                           IN1_type_symbol = last_type_symbol;
 16573                           IN1_type_symbol = last_type_symbol;
 16573                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16574                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16574                         
 16575                         
 16575                         if (IN2_type_symbol == NULL)
 16576                         if (IN2_type_symbol == NULL)
 16576                           IN2_type_symbol = last_type_symbol;
 16577                           IN2_type_symbol = last_type_symbol;
 16577                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16578                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16578                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 16579                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 16579                         break;
 16580                         break;
 16580                         
 16581                         
 16581                     }
 16582                     }
 16582                     
 16583                     
 16588             
 16589             
 16589             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 16590             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 16590             {
 16591             {
 16591         
 16592         
 16592                 {
 16593                 {
 16593                     identifier_c param_name("IN2");
 16594                     identifier_c IN2_param_name("IN2");
 16594                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16595                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16595                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16596                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16596                     symbol_c *IN2_type_symbol = NULL;
 16597                     symbol_c *IN2_type_symbol = NULL;
 16597                     
 16598                     
 16598                     /* Get the value from a foo(<param_value>) style call */
 16599                     /* Get the value from a foo(<param_value>) style call */
 16599                     if (IN2_param_value == NULL)
 16600                     if (IN2_param_value == NULL)
 16600                       IN2_param_value = function_call_param_iterator.next_nf();
 16601                       IN2_param_value = function_call_param_iterator.next_nf();
 16608                 
 16609                 
 16609                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 16610                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 16610                         
 16611                         
 16611                         if (IN1_type_symbol == NULL)
 16612                         if (IN1_type_symbol == NULL)
 16612                           IN1_type_symbol = last_type_symbol;
 16613                           IN1_type_symbol = last_type_symbol;
 16613                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16614                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16614                         
 16615                         
 16615                         if (IN2_type_symbol == NULL)
 16616                         if (IN2_type_symbol == NULL)
 16616                           IN2_type_symbol = last_type_symbol;
 16617                           IN2_type_symbol = last_type_symbol;
 16617                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16618                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16618                         symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 16619                         symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 16619                         break;
 16620                         break;
 16620                         
 16621                         
 16621                     }
 16622                     }
 16622                     
 16623                     
 16628             
 16629             
 16629             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 16630             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 16630             {
 16631             {
 16631         
 16632         
 16632                 {
 16633                 {
 16633                     identifier_c param_name("IN2");
 16634                     identifier_c IN2_param_name("IN2");
 16634                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16635                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16635                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16636                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16636                     symbol_c *IN2_type_symbol = NULL;
 16637                     symbol_c *IN2_type_symbol = NULL;
 16637                     
 16638                     
 16638                     /* Get the value from a foo(<param_value>) style call */
 16639                     /* Get the value from a foo(<param_value>) style call */
 16639                     if (IN2_param_value == NULL)
 16640                     if (IN2_param_value == NULL)
 16640                       IN2_param_value = function_call_param_iterator.next_nf();
 16641                       IN2_param_value = function_call_param_iterator.next_nf();
 16648                 
 16649                 
 16649                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 16650                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 16650                         
 16651                         
 16651                         if (IN1_type_symbol == NULL)
 16652                         if (IN1_type_symbol == NULL)
 16652                           IN1_type_symbol = last_type_symbol;
 16653                           IN1_type_symbol = last_type_symbol;
 16653                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16654                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16654                         
 16655                         
 16655                         if (IN2_type_symbol == NULL)
 16656                         if (IN2_type_symbol == NULL)
 16656                           IN2_type_symbol = last_type_symbol;
 16657                           IN2_type_symbol = last_type_symbol;
 16657                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16658                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16658                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16659                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16659                         break;
 16660                         break;
 16660                         
 16661                         
 16661                     }
 16662                     }
 16662                     
 16663                     
 16679     case function_mul :
 16680     case function_mul :
 16680     {
 16681     {
 16681         symbol_c *last_type_symbol = NULL;
 16682         symbol_c *last_type_symbol = NULL;
 16682 
 16683 
 16683         {
 16684         {
 16684             identifier_c param_name("IN1");
 16685             identifier_c IN1_param_name("IN1");
 16685             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16686             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16686             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 16687             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 16687             symbol_c *IN1_type_symbol = NULL;
 16688             symbol_c *IN1_type_symbol = NULL;
 16688             
 16689             
 16689             /* Get the value from a foo(<param_value>) style call */
 16690             /* Get the value from a foo(<param_value>) style call */
 16690             if (IN1_param_value == NULL)
 16691             if (IN1_param_value == NULL)
 16691               IN1_param_value = function_call_param_iterator.next_nf();
 16692               IN1_param_value = function_call_param_iterator.next_nf();
 16696             
 16697             
 16697             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 16698             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 16698             {
 16699             {
 16699         
 16700         
 16700                 {
 16701                 {
 16701                     identifier_c param_name("IN2");
 16702                     identifier_c IN2_param_name("IN2");
 16702                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16703                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16703                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16704                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16704                     symbol_c *IN2_type_symbol = NULL;
 16705                     symbol_c *IN2_type_symbol = NULL;
 16705                     
 16706                     
 16706                     /* Get the value from a foo(<param_value>) style call */
 16707                     /* Get the value from a foo(<param_value>) style call */
 16707                     if (IN2_param_value == NULL)
 16708                     if (IN2_param_value == NULL)
 16708                       IN2_param_value = function_call_param_iterator.next_nf();
 16709                       IN2_param_value = function_call_param_iterator.next_nf();
 16718                         
 16719                         
 16719                         if (nb_param < 2)
 16720                         if (nb_param < 2)
 16720                           nb_param = 2;
 16721                           nb_param = 2;
 16721                         char* nb_param_str = new char[10];
 16722                         char* nb_param_str = new char[10];
 16722                         sprintf(nb_param_str, "%d", nb_param);
 16723                         sprintf(nb_param_str, "%d", nb_param);
 16723                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 16724                         identifier_c nb_param_name("nb_param");
       
 16725                         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)
 16724                         
 16726                         
 16725                         if (IN1_type_symbol == NULL)
 16727                         if (IN1_type_symbol == NULL)
 16726                           IN1_type_symbol = last_type_symbol;
 16728                           IN1_type_symbol = last_type_symbol;
 16727                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16729                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16728                         
 16730                         
 16729                         if (IN2_type_symbol == NULL)
 16731                         if (IN2_type_symbol == NULL)
 16730                           IN2_type_symbol = last_type_symbol;
 16732                           IN2_type_symbol = last_type_symbol;
 16731                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16733                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16732                         
 16734                         
 16733                         int base_num = 3;
 16735                         int base_num = 3;
 16734                         symbol_c *param_value = NULL;
 16736                         symbol_c *param_value = NULL;
 16735                         do{
 16737                         do{
 16736                             char my_name[10];
 16738                             char my_name[10];
 16746                             if (param_value != NULL){
 16748                             if (param_value != NULL){
 16747                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16749                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16748                                 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 ;
 16750                                 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 ;
 16749                             
 16751                             
 16750                                 /*Function specific CODE */
 16752                                 /*Function specific CODE */
 16751                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 16753                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 16752                             }
 16754                             }
 16753                             
 16755                             
 16754                         }while(param_value != NULL);
 16756                         }while(param_value != NULL);
 16755                         symbol_c * return_type_symbol;
 16757                         symbol_c * return_type_symbol;
 16756                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 16758                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 16772             
 16774             
 16773             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 16775             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 16774             {
 16776             {
 16775         
 16777         
 16776                 {
 16778                 {
 16777                     identifier_c param_name("IN2");
 16779                     identifier_c IN2_param_name("IN2");
 16778                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16780                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16779                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16781                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16780                     symbol_c *IN2_type_symbol = NULL;
 16782                     symbol_c *IN2_type_symbol = NULL;
 16781                     
 16783                     
 16782                     /* Get the value from a foo(<param_value>) style call */
 16784                     /* Get the value from a foo(<param_value>) style call */
 16783                     if (IN2_param_value == NULL)
 16785                     if (IN2_param_value == NULL)
 16784                       IN2_param_value = function_call_param_iterator.next_nf();
 16786                       IN2_param_value = function_call_param_iterator.next_nf();
 16792                 
 16794                 
 16793                         function_name = (symbol_c*)(new pragma_c("__time_mul"));
 16795                         function_name = (symbol_c*)(new pragma_c("__time_mul"));
 16794                         
 16796                         
 16795                         if (IN1_type_symbol == NULL)
 16797                         if (IN1_type_symbol == NULL)
 16796                           IN1_type_symbol = last_type_symbol;
 16798                           IN1_type_symbol = last_type_symbol;
 16797                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16799                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16798                         
 16800                         
 16799                         if (IN2_type_symbol == NULL)
 16801                         if (IN2_type_symbol == NULL)
 16800                           IN2_type_symbol = last_type_symbol;
 16802                           IN2_type_symbol = last_type_symbol;
 16801                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16803                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16802                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16804                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16803                         break;
 16805                         break;
 16804                         
 16806                         
 16805                     }
 16807                     }
 16806                     
 16808                     
 16823     case function_sub :
 16825     case function_sub :
 16824     {
 16826     {
 16825         symbol_c *last_type_symbol = NULL;
 16827         symbol_c *last_type_symbol = NULL;
 16826 
 16828 
 16827         {
 16829         {
 16828             identifier_c param_name("IN1");
 16830             identifier_c IN1_param_name("IN1");
 16829             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16831             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16830             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 16832             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 16831             symbol_c *IN1_type_symbol = NULL;
 16833             symbol_c *IN1_type_symbol = NULL;
 16832             
 16834             
 16833             /* Get the value from a foo(<param_value>) style call */
 16835             /* Get the value from a foo(<param_value>) style call */
 16834             if (IN1_param_value == NULL)
 16836             if (IN1_param_value == NULL)
 16835               IN1_param_value = function_call_param_iterator.next_nf();
 16837               IN1_param_value = function_call_param_iterator.next_nf();
 16840             
 16842             
 16841             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 16843             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 16842             {
 16844             {
 16843         
 16845         
 16844                 {
 16846                 {
 16845                     identifier_c param_name("IN2");
 16847                     identifier_c IN2_param_name("IN2");
 16846                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16848                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16847                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16849                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16848                     symbol_c *IN2_type_symbol = NULL;
 16850                     symbol_c *IN2_type_symbol = NULL;
 16849                     
 16851                     
 16850                     /* Get the value from a foo(<param_value>) style call */
 16852                     /* Get the value from a foo(<param_value>) style call */
 16851                     if (IN2_param_value == NULL)
 16853                     if (IN2_param_value == NULL)
 16852                       IN2_param_value = function_call_param_iterator.next_nf();
 16854                       IN2_param_value = function_call_param_iterator.next_nf();
 16860                 
 16862                 
 16861                         function_name = (symbol_c*)(new pragma_c("__sub_"));
 16863                         function_name = (symbol_c*)(new pragma_c("__sub_"));
 16862                         
 16864                         
 16863                         if (IN1_type_symbol == NULL)
 16865                         if (IN1_type_symbol == NULL)
 16864                           IN1_type_symbol = last_type_symbol;
 16866                           IN1_type_symbol = last_type_symbol;
 16865                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16867                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16866                         
 16868                         
 16867                         if (IN2_type_symbol == NULL)
 16869                         if (IN2_type_symbol == NULL)
 16868                           IN2_type_symbol = last_type_symbol;
 16870                           IN2_type_symbol = last_type_symbol;
 16869                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16871                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16870                         symbol_c * return_type_symbol;
 16872                         symbol_c * return_type_symbol;
 16871                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 16873                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 16872                             return_type_symbol = &search_constant_type_c::lint_type_name;
 16874                             return_type_symbol = &search_constant_type_c::lint_type_name;
 16873                         else if (search_expression_type->is_literal_real_type(last_type_symbol))
 16875                         else if (search_expression_type->is_literal_real_type(last_type_symbol))
 16874                             return_type_symbol = &search_constant_type_c::lreal_type_name;
 16876                             return_type_symbol = &search_constant_type_c::lreal_type_name;
 16887             
 16889             
 16888             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 16890             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 16889             {
 16891             {
 16890         
 16892         
 16891                 {
 16893                 {
 16892                     identifier_c param_name("IN2");
 16894                     identifier_c IN2_param_name("IN2");
 16893                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16895                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16894                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16896                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16895                     symbol_c *IN2_type_symbol = NULL;
 16897                     symbol_c *IN2_type_symbol = NULL;
 16896                     
 16898                     
 16897                     /* Get the value from a foo(<param_value>) style call */
 16899                     /* Get the value from a foo(<param_value>) style call */
 16898                     if (IN2_param_value == NULL)
 16900                     if (IN2_param_value == NULL)
 16899                       IN2_param_value = function_call_param_iterator.next_nf();
 16901                       IN2_param_value = function_call_param_iterator.next_nf();
 16907                 
 16909                 
 16908                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 16910                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 16909                         
 16911                         
 16910                         if (IN1_type_symbol == NULL)
 16912                         if (IN1_type_symbol == NULL)
 16911                           IN1_type_symbol = last_type_symbol;
 16913                           IN1_type_symbol = last_type_symbol;
 16912                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16914                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16913                         
 16915                         
 16914                         if (IN2_type_symbol == NULL)
 16916                         if (IN2_type_symbol == NULL)
 16915                           IN2_type_symbol = last_type_symbol;
 16917                           IN2_type_symbol = last_type_symbol;
 16916                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16918                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16917                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16919                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16918                         break;
 16920                         break;
 16919                         
 16921                         
 16920                     }
 16922                     }
 16921                     
 16923                     
 16927             
 16929             
 16928             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 16930             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
 16929             {
 16931             {
 16930         
 16932         
 16931                 {
 16933                 {
 16932                     identifier_c param_name("IN2");
 16934                     identifier_c IN2_param_name("IN2");
 16933                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16935                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16934                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16936                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16935                     symbol_c *IN2_type_symbol = NULL;
 16937                     symbol_c *IN2_type_symbol = NULL;
 16936                     
 16938                     
 16937                     /* Get the value from a foo(<param_value>) style call */
 16939                     /* Get the value from a foo(<param_value>) style call */
 16938                     if (IN2_param_value == NULL)
 16940                     if (IN2_param_value == NULL)
 16939                       IN2_param_value = function_call_param_iterator.next_nf();
 16941                       IN2_param_value = function_call_param_iterator.next_nf();
 16947                 
 16949                 
 16948                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 16950                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 16949                         
 16951                         
 16950                         if (IN1_type_symbol == NULL)
 16952                         if (IN1_type_symbol == NULL)
 16951                           IN1_type_symbol = last_type_symbol;
 16953                           IN1_type_symbol = last_type_symbol;
 16952                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16954                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16953                         
 16955                         
 16954                         if (IN2_type_symbol == NULL)
 16956                         if (IN2_type_symbol == NULL)
 16955                           IN2_type_symbol = last_type_symbol;
 16957                           IN2_type_symbol = last_type_symbol;
 16956                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16958                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16957                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16959                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 16958                         break;
 16960                         break;
 16959                         
 16961                         
 16960                     }
 16962                     }
 16961                     
 16963                     
 16964                 
 16966                 
 16965                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 16967                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 16966                         
 16968                         
 16967                         if (IN1_type_symbol == NULL)
 16969                         if (IN1_type_symbol == NULL)
 16968                           IN1_type_symbol = last_type_symbol;
 16970                           IN1_type_symbol = last_type_symbol;
 16969                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16971                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 16970                         
 16972                         
 16971                         if (IN2_type_symbol == NULL)
 16973                         if (IN2_type_symbol == NULL)
 16972                           IN2_type_symbol = last_type_symbol;
 16974                           IN2_type_symbol = last_type_symbol;
 16973                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16975                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 16974                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 16976                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 16975                         break;
 16977                         break;
 16976                         
 16978                         
 16977                     }
 16979                     }
 16978                     
 16980                     
 16984             
 16986             
 16985             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 16987             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
 16986             {
 16988             {
 16987         
 16989         
 16988                 {
 16990                 {
 16989                     identifier_c param_name("IN2");
 16991                     identifier_c IN2_param_name("IN2");
 16990                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16992                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16991                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16993                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 16992                     symbol_c *IN2_type_symbol = NULL;
 16994                     symbol_c *IN2_type_symbol = NULL;
 16993                     
 16995                     
 16994                     /* Get the value from a foo(<param_value>) style call */
 16996                     /* Get the value from a foo(<param_value>) style call */
 16995                     if (IN2_param_value == NULL)
 16997                     if (IN2_param_value == NULL)
 16996                       IN2_param_value = function_call_param_iterator.next_nf();
 16998                       IN2_param_value = function_call_param_iterator.next_nf();
 17004                 
 17006                 
 17005                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 17007                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 17006                         
 17008                         
 17007                         if (IN1_type_symbol == NULL)
 17009                         if (IN1_type_symbol == NULL)
 17008                           IN1_type_symbol = last_type_symbol;
 17010                           IN1_type_symbol = last_type_symbol;
 17009                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17011                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17010                         
 17012                         
 17011                         if (IN2_type_symbol == NULL)
 17013                         if (IN2_type_symbol == NULL)
 17012                           IN2_type_symbol = last_type_symbol;
 17014                           IN2_type_symbol = last_type_symbol;
 17013                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17015                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17014                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17016                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17015                         break;
 17017                         break;
 17016                         
 17018                         
 17017                     }
 17019                     }
 17018                     
 17020                     
 17021                 
 17023                 
 17022                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 17024                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 17023                         
 17025                         
 17024                         if (IN1_type_symbol == NULL)
 17026                         if (IN1_type_symbol == NULL)
 17025                           IN1_type_symbol = last_type_symbol;
 17027                           IN1_type_symbol = last_type_symbol;
 17026                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17028                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17027                         
 17029                         
 17028                         if (IN2_type_symbol == NULL)
 17030                         if (IN2_type_symbol == NULL)
 17029                           IN2_type_symbol = last_type_symbol;
 17031                           IN2_type_symbol = last_type_symbol;
 17030                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17032                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17031                         symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 17033                         symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
 17032                         break;
 17034                         break;
 17033                         
 17035                         
 17034                     }
 17036                     }
 17035                     
 17037                     
 17041             
 17043             
 17042             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 17044             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 17043             {
 17045             {
 17044         
 17046         
 17045                 {
 17047                 {
 17046                     identifier_c param_name("IN2");
 17048                     identifier_c IN2_param_name("IN2");
 17047                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17049                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17048                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 17050                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17049                     symbol_c *IN2_type_symbol = NULL;
 17051                     symbol_c *IN2_type_symbol = NULL;
 17050                     
 17052                     
 17051                     /* Get the value from a foo(<param_value>) style call */
 17053                     /* Get the value from a foo(<param_value>) style call */
 17052                     if (IN2_param_value == NULL)
 17054                     if (IN2_param_value == NULL)
 17053                       IN2_param_value = function_call_param_iterator.next_nf();
 17055                       IN2_param_value = function_call_param_iterator.next_nf();
 17061                 
 17063                 
 17062                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 17064                         function_name = (symbol_c*)(new pragma_c("__time_sub"));
 17063                         
 17065                         
 17064                         if (IN1_type_symbol == NULL)
 17066                         if (IN1_type_symbol == NULL)
 17065                           IN1_type_symbol = last_type_symbol;
 17067                           IN1_type_symbol = last_type_symbol;
 17066                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17068                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17067                         
 17069                         
 17068                         if (IN2_type_symbol == NULL)
 17070                         if (IN2_type_symbol == NULL)
 17069                           IN2_type_symbol = last_type_symbol;
 17071                           IN2_type_symbol = last_type_symbol;
 17070                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17072                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17071                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17073                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17072                         break;
 17074                         break;
 17073                         
 17075                         
 17074                     }
 17076                     }
 17075                     
 17077                     
 17092     case function_div :
 17094     case function_div :
 17093     {
 17095     {
 17094         symbol_c *last_type_symbol = NULL;
 17096         symbol_c *last_type_symbol = NULL;
 17095 
 17097 
 17096         {
 17098         {
 17097             identifier_c param_name("IN1");
 17099             identifier_c IN1_param_name("IN1");
 17098             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17100             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17099             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 17101             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 17100             symbol_c *IN1_type_symbol = NULL;
 17102             symbol_c *IN1_type_symbol = NULL;
 17101             
 17103             
 17102             /* Get the value from a foo(<param_value>) style call */
 17104             /* Get the value from a foo(<param_value>) style call */
 17103             if (IN1_param_value == NULL)
 17105             if (IN1_param_value == NULL)
 17104               IN1_param_value = function_call_param_iterator.next_nf();
 17106               IN1_param_value = function_call_param_iterator.next_nf();
 17109             
 17111             
 17110             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 17112             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 17111             {
 17113             {
 17112         
 17114         
 17113                 {
 17115                 {
 17114                     identifier_c param_name("IN2");
 17116                     identifier_c IN2_param_name("IN2");
 17115                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17117                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17116                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 17118                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17117                     symbol_c *IN2_type_symbol = NULL;
 17119                     symbol_c *IN2_type_symbol = NULL;
 17118                     
 17120                     
 17119                     /* Get the value from a foo(<param_value>) style call */
 17121                     /* Get the value from a foo(<param_value>) style call */
 17120                     if (IN2_param_value == NULL)
 17122                     if (IN2_param_value == NULL)
 17121                       IN2_param_value = function_call_param_iterator.next_nf();
 17123                       IN2_param_value = function_call_param_iterator.next_nf();
 17129                 
 17131                 
 17130                         function_name = (symbol_c*)(new pragma_c("__div_"));
 17132                         function_name = (symbol_c*)(new pragma_c("__div_"));
 17131                         
 17133                         
 17132                         if (IN1_type_symbol == NULL)
 17134                         if (IN1_type_symbol == NULL)
 17133                           IN1_type_symbol = last_type_symbol;
 17135                           IN1_type_symbol = last_type_symbol;
 17134                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17136                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17135                         
 17137                         
 17136                         if (IN2_type_symbol == NULL)
 17138                         if (IN2_type_symbol == NULL)
 17137                           IN2_type_symbol = last_type_symbol;
 17139                           IN2_type_symbol = last_type_symbol;
 17138                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17140                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17139                         symbol_c * return_type_symbol;
 17141                         symbol_c * return_type_symbol;
 17140                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17142                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17141                             return_type_symbol = &search_constant_type_c::lint_type_name;
 17143                             return_type_symbol = &search_constant_type_c::lint_type_name;
 17142                         else if (search_expression_type->is_literal_real_type(last_type_symbol))
 17144                         else if (search_expression_type->is_literal_real_type(last_type_symbol))
 17143                             return_type_symbol = &search_constant_type_c::lreal_type_name;
 17145                             return_type_symbol = &search_constant_type_c::lreal_type_name;
 17156             
 17158             
 17157             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 17159             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
 17158             {
 17160             {
 17159         
 17161         
 17160                 {
 17162                 {
 17161                     identifier_c param_name("IN2");
 17163                     identifier_c IN2_param_name("IN2");
 17162                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17164                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17163                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 17165                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17164                     symbol_c *IN2_type_symbol = NULL;
 17166                     symbol_c *IN2_type_symbol = NULL;
 17165                     
 17167                     
 17166                     /* Get the value from a foo(<param_value>) style call */
 17168                     /* Get the value from a foo(<param_value>) style call */
 17167                     if (IN2_param_value == NULL)
 17169                     if (IN2_param_value == NULL)
 17168                       IN2_param_value = function_call_param_iterator.next_nf();
 17170                       IN2_param_value = function_call_param_iterator.next_nf();
 17176                 
 17178                 
 17177                         function_name = (symbol_c*)(new pragma_c("__time_div"));
 17179                         function_name = (symbol_c*)(new pragma_c("__time_div"));
 17178                         
 17180                         
 17179                         if (IN1_type_symbol == NULL)
 17181                         if (IN1_type_symbol == NULL)
 17180                           IN1_type_symbol = last_type_symbol;
 17182                           IN1_type_symbol = last_type_symbol;
 17181                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17183                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17182                         
 17184                         
 17183                         if (IN2_type_symbol == NULL)
 17185                         if (IN2_type_symbol == NULL)
 17184                           IN2_type_symbol = last_type_symbol;
 17186                           IN2_type_symbol = last_type_symbol;
 17185                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17187                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17186                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17188                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
 17187                         break;
 17189                         break;
 17188                         
 17190                         
 17189                     }
 17191                     }
 17190                     
 17192                     
 17207     case function_mod :
 17209     case function_mod :
 17208     {
 17210     {
 17209         symbol_c *last_type_symbol = NULL;
 17211         symbol_c *last_type_symbol = NULL;
 17210 
 17212 
 17211         {
 17213         {
 17212             identifier_c param_name("IN1");
 17214             identifier_c IN1_param_name("IN1");
 17213             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17215             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17214             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 17216             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 17215             symbol_c *IN1_type_symbol = NULL;
 17217             symbol_c *IN1_type_symbol = NULL;
 17216             
 17218             
 17217             /* Get the value from a foo(<param_value>) style call */
 17219             /* Get the value from a foo(<param_value>) style call */
 17218             if (IN1_param_value == NULL)
 17220             if (IN1_param_value == NULL)
 17219               IN1_param_value = function_call_param_iterator.next_nf();
 17221               IN1_param_value = function_call_param_iterator.next_nf();
 17224             
 17226             
 17225             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 17227             if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol))
 17226             {
 17228             {
 17227         
 17229         
 17228                 {
 17230                 {
 17229                     identifier_c param_name("IN2");
 17231                     identifier_c IN2_param_name("IN2");
 17230                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17232                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17231                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 17233                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17232                     symbol_c *IN2_type_symbol = NULL;
 17234                     symbol_c *IN2_type_symbol = NULL;
 17233                     
 17235                     
 17234                     /* Get the value from a foo(<param_value>) style call */
 17236                     /* Get the value from a foo(<param_value>) style call */
 17235                     if (IN2_param_value == NULL)
 17237                     if (IN2_param_value == NULL)
 17236                       IN2_param_value = function_call_param_iterator.next_nf();
 17238                       IN2_param_value = function_call_param_iterator.next_nf();
 17244                 
 17246                 
 17245                         function_name = (symbol_c*)(new pragma_c("__mod_"));
 17247                         function_name = (symbol_c*)(new pragma_c("__mod_"));
 17246                         
 17248                         
 17247                         if (IN1_type_symbol == NULL)
 17249                         if (IN1_type_symbol == NULL)
 17248                           IN1_type_symbol = last_type_symbol;
 17250                           IN1_type_symbol = last_type_symbol;
 17249                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17251                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17250                         
 17252                         
 17251                         if (IN2_type_symbol == NULL)
 17253                         if (IN2_type_symbol == NULL)
 17252                           IN2_type_symbol = last_type_symbol;
 17254                           IN2_type_symbol = last_type_symbol;
 17253                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17255                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17254                         symbol_c * return_type_symbol;
 17256                         symbol_c * return_type_symbol;
 17255                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17257                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17256                             return_type_symbol = &search_constant_type_c::lint_type_name;
 17258                             return_type_symbol = &search_constant_type_c::lint_type_name;
 17257                         else if (search_expression_type->is_literal_real_type(last_type_symbol))
 17259                         else if (search_expression_type->is_literal_real_type(last_type_symbol))
 17258                             return_type_symbol = &search_constant_type_c::lreal_type_name;
 17260                             return_type_symbol = &search_constant_type_c::lreal_type_name;
 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 param_name("IN1");
 17289             identifier_c IN1_param_name("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(&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 param_name("IN2");
 17306                     identifier_c IN2_param_name("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(&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_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_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;
 17331                         symbol_c * return_type_symbol;
 17330                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17332                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17331                             return_type_symbol = &search_constant_type_c::lint_type_name;
 17333                             return_type_symbol = &search_constant_type_c::lint_type_name;
 17332                         else if (search_expression_type->is_literal_real_type(last_type_symbol))
 17334                         else if (search_expression_type->is_literal_real_type(last_type_symbol))
 17333                             return_type_symbol = &search_constant_type_c::lreal_type_name;
 17335                             return_type_symbol = &search_constant_type_c::lreal_type_name;
 17357     case function_move :
 17359     case function_move :
 17358     {
 17360     {
 17359         symbol_c *last_type_symbol = NULL;
 17361         symbol_c *last_type_symbol = NULL;
 17360 
 17362 
 17361         {
 17363         {
 17362             identifier_c param_name("IN");
 17364             identifier_c IN_param_name("IN");
 17363             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17365             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17364             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 17366             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 17365             symbol_c *IN_type_symbol = NULL;
 17367             symbol_c *IN_type_symbol = NULL;
 17366             
 17368             
 17367             /* Get the value from a foo(<param_value>) style call */
 17369             /* Get the value from a foo(<param_value>) style call */
 17368             if (IN_param_value == NULL)
 17370             if (IN_param_value == NULL)
 17369               IN_param_value = function_call_param_iterator.next_nf();
 17371               IN_param_value = function_call_param_iterator.next_nf();
 17370             if (IN_param_value != NULL) {
 17372             if (IN_param_value != NULL) {
 17371               IN_type_symbol = search_expression_type->get_type(IN_param_value);
 17373               IN_type_symbol = search_expression_type->get_type(IN_param_value);
 17372               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
 17374               last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
 17373             }
 17375             }
 17374             
 17376             
 17375             
 17377             
 17376             {
 17378             {
 17377         
 17379         
 17378                 function_name = (symbol_c*)(new pragma_c("__move_"));
 17380                 function_name = (symbol_c*)(new pragma_c("__move_"));
 17379                 
 17381                 
 17380                 if (IN_type_symbol == NULL)
 17382                 if (IN_type_symbol == NULL)
 17381                   IN_type_symbol = last_type_symbol;
 17383                   IN_type_symbol = last_type_symbol;
 17382                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17384                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17383                 symbol_c * return_type_symbol;
 17385                 symbol_c * return_type_symbol;
 17384                 if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17386                 if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17385                     return_type_symbol = &search_constant_type_c::lint_type_name;
 17387                     return_type_symbol = &search_constant_type_c::lint_type_name;
 17386                 else if (search_expression_type->is_literal_real_type(last_type_symbol))
 17388                 else if (search_expression_type->is_literal_real_type(last_type_symbol))
 17387                     return_type_symbol = &search_constant_type_c::lreal_type_name;
 17389                     return_type_symbol = &search_constant_type_c::lreal_type_name;
 17405     case function_shl :
 17407     case function_shl :
 17406     {
 17408     {
 17407         symbol_c *last_type_symbol = NULL;
 17409         symbol_c *last_type_symbol = NULL;
 17408 
 17410 
 17409         {
 17411         {
 17410             identifier_c param_name("IN");
 17412             identifier_c IN_param_name("IN");
 17411             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17413             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17412             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 17414             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 17413             symbol_c *IN_type_symbol = NULL;
 17415             symbol_c *IN_type_symbol = NULL;
 17414             
 17416             
 17415             /* Get the value from a foo(<param_value>) style call */
 17417             /* Get the value from a foo(<param_value>) style call */
 17416             if (IN_param_value == NULL)
 17418             if (IN_param_value == NULL)
 17417               IN_param_value = function_call_param_iterator.next_nf();
 17419               IN_param_value = function_call_param_iterator.next_nf();
 17422             
 17424             
 17423             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 17425             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 17424             {
 17426             {
 17425         
 17427         
 17426                 {
 17428                 {
 17427                     identifier_c param_name("N");
 17429                     identifier_c N_param_name("N");
 17428                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17430                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17429                     symbol_c *N_param_value = function_call_param_iterator.search_f(&param_name);
 17431                     symbol_c *N_param_value = function_call_param_iterator.search_f(&N_param_name);
 17430                     symbol_c *N_type_symbol = NULL;
 17432                     symbol_c *N_type_symbol = NULL;
 17431                     
 17433                     
 17432                     /* Get the value from a foo(<param_value>) style call */
 17434                     /* Get the value from a foo(<param_value>) style call */
 17433                     if (N_param_value == NULL)
 17435                     if (N_param_value == NULL)
 17434                       N_param_value = function_call_param_iterator.next_nf();
 17436                       N_param_value = function_call_param_iterator.next_nf();
 17442                 
 17444                 
 17443                         function_name = (symbol_c*)(new pragma_c("__shl_"));
 17445                         function_name = (symbol_c*)(new pragma_c("__shl_"));
 17444                         
 17446                         
 17445                         if (IN_type_symbol == NULL)
 17447                         if (IN_type_symbol == NULL)
 17446                           IN_type_symbol = last_type_symbol;
 17448                           IN_type_symbol = last_type_symbol;
 17447                         ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17449                         ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17448                         
 17450                         
 17449                         if (N_type_symbol == NULL)
 17451                         if (N_type_symbol == NULL)
 17450                           N_type_symbol = last_type_symbol;
 17452                           N_type_symbol = last_type_symbol;
 17451                         ADD_PARAM_LIST(N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17453                         ADD_PARAM_LIST(&N_param_name, N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17452                         symbol_c * return_type_symbol = IN_type_symbol;
 17454                         symbol_c * return_type_symbol = IN_type_symbol;
 17453                         function_type_suffix = IN_type_symbol;
 17455                         function_type_suffix = IN_type_symbol;
 17454                         break;
 17456                         break;
 17455                         
 17457                         
 17456                     }
 17458                     }
 17474     case function_shr :
 17476     case function_shr :
 17475     {
 17477     {
 17476         symbol_c *last_type_symbol = NULL;
 17478         symbol_c *last_type_symbol = NULL;
 17477 
 17479 
 17478         {
 17480         {
 17479             identifier_c param_name("IN");
 17481             identifier_c IN_param_name("IN");
 17480             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17482             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17481             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 17483             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 17482             symbol_c *IN_type_symbol = NULL;
 17484             symbol_c *IN_type_symbol = NULL;
 17483             
 17485             
 17484             /* Get the value from a foo(<param_value>) style call */
 17486             /* Get the value from a foo(<param_value>) style call */
 17485             if (IN_param_value == NULL)
 17487             if (IN_param_value == NULL)
 17486               IN_param_value = function_call_param_iterator.next_nf();
 17488               IN_param_value = function_call_param_iterator.next_nf();
 17491             
 17493             
 17492             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 17494             if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol))
 17493             {
 17495             {
 17494         
 17496         
 17495                 {
 17497                 {
 17496                     identifier_c param_name("N");
 17498                     identifier_c N_param_name("N");
 17497                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17499                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17498                     symbol_c *N_param_value = function_call_param_iterator.search_f(&param_name);
 17500                     symbol_c *N_param_value = function_call_param_iterator.search_f(&N_param_name);
 17499                     symbol_c *N_type_symbol = NULL;
 17501                     symbol_c *N_type_symbol = NULL;
 17500                     
 17502                     
 17501                     /* Get the value from a foo(<param_value>) style call */
 17503                     /* Get the value from a foo(<param_value>) style call */
 17502                     if (N_param_value == NULL)
 17504                     if (N_param_value == NULL)
 17503                       N_param_value = function_call_param_iterator.next_nf();
 17505                       N_param_value = function_call_param_iterator.next_nf();
 17511                 
 17513                 
 17512                         function_name = (symbol_c*)(new pragma_c("__shr_"));
 17514                         function_name = (symbol_c*)(new pragma_c("__shr_"));
 17513                         
 17515                         
 17514                         if (IN_type_symbol == NULL)
 17516                         if (IN_type_symbol == NULL)
 17515                           IN_type_symbol = last_type_symbol;
 17517                           IN_type_symbol = last_type_symbol;
 17516                         ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17518                         ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17517                         
 17519                         
 17518                         if (N_type_symbol == NULL)
 17520                         if (N_type_symbol == NULL)
 17519                           N_type_symbol = last_type_symbol;
 17521                           N_type_symbol = last_type_symbol;
 17520                         ADD_PARAM_LIST(N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17522                         ADD_PARAM_LIST(&N_param_name, N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17521                         symbol_c * return_type_symbol = IN_type_symbol;
 17523                         symbol_c * return_type_symbol = IN_type_symbol;
 17522                         function_type_suffix = IN_type_symbol;
 17524                         function_type_suffix = IN_type_symbol;
 17523                         break;
 17525                         break;
 17524                         
 17526                         
 17525                     }
 17527                     }
 17543     case function_ror :
 17545     case function_ror :
 17544     {
 17546     {
 17545         symbol_c *last_type_symbol = NULL;
 17547         symbol_c *last_type_symbol = NULL;
 17546 
 17548 
 17547         {
 17549         {
 17548             identifier_c param_name("IN");
 17550             identifier_c IN_param_name("IN");
 17549             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17551             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17550             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 17552             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 17551             symbol_c *IN_type_symbol = NULL;
 17553             symbol_c *IN_type_symbol = NULL;
 17552             
 17554             
 17553             /* Get the value from a foo(<param_value>) style call */
 17555             /* Get the value from a foo(<param_value>) style call */
 17554             if (IN_param_value == NULL)
 17556             if (IN_param_value == NULL)
 17555               IN_param_value = function_call_param_iterator.next_nf();
 17557               IN_param_value = function_call_param_iterator.next_nf();
 17560             
 17562             
 17561             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
 17563             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
 17562             {
 17564             {
 17563         
 17565         
 17564                 {
 17566                 {
 17565                     identifier_c param_name("N");
 17567                     identifier_c N_param_name("N");
 17566                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17568                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17567                     symbol_c *N_param_value = function_call_param_iterator.search_f(&param_name);
 17569                     symbol_c *N_param_value = function_call_param_iterator.search_f(&N_param_name);
 17568                     symbol_c *N_type_symbol = NULL;
 17570                     symbol_c *N_type_symbol = NULL;
 17569                     
 17571                     
 17570                     /* Get the value from a foo(<param_value>) style call */
 17572                     /* Get the value from a foo(<param_value>) style call */
 17571                     if (N_param_value == NULL)
 17573                     if (N_param_value == NULL)
 17572                       N_param_value = function_call_param_iterator.next_nf();
 17574                       N_param_value = function_call_param_iterator.next_nf();
 17580                 
 17582                 
 17581                         function_name = (symbol_c*)(new pragma_c("__ror_"));
 17583                         function_name = (symbol_c*)(new pragma_c("__ror_"));
 17582                         
 17584                         
 17583                         if (IN_type_symbol == NULL)
 17585                         if (IN_type_symbol == NULL)
 17584                           IN_type_symbol = last_type_symbol;
 17586                           IN_type_symbol = last_type_symbol;
 17585                         ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17587                         ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17586                         
 17588                         
 17587                         if (N_type_symbol == NULL)
 17589                         if (N_type_symbol == NULL)
 17588                           N_type_symbol = last_type_symbol;
 17590                           N_type_symbol = last_type_symbol;
 17589                         ADD_PARAM_LIST(N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17591                         ADD_PARAM_LIST(&N_param_name, N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17590                         symbol_c * return_type_symbol = IN_type_symbol;
 17592                         symbol_c * return_type_symbol = IN_type_symbol;
 17591                         function_type_suffix = IN_type_symbol;
 17593                         function_type_suffix = IN_type_symbol;
 17592                         break;
 17594                         break;
 17593                         
 17595                         
 17594                     }
 17596                     }
 17612     case function_rol :
 17614     case function_rol :
 17613     {
 17615     {
 17614         symbol_c *last_type_symbol = NULL;
 17616         symbol_c *last_type_symbol = NULL;
 17615 
 17617 
 17616         {
 17618         {
 17617             identifier_c param_name("IN");
 17619             identifier_c IN_param_name("IN");
 17618             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17620             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17619             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 17621             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 17620             symbol_c *IN_type_symbol = NULL;
 17622             symbol_c *IN_type_symbol = NULL;
 17621             
 17623             
 17622             /* Get the value from a foo(<param_value>) style call */
 17624             /* Get the value from a foo(<param_value>) style call */
 17623             if (IN_param_value == NULL)
 17625             if (IN_param_value == NULL)
 17624               IN_param_value = function_call_param_iterator.next_nf();
 17626               IN_param_value = function_call_param_iterator.next_nf();
 17629             
 17631             
 17630             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
 17632             if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol))
 17631             {
 17633             {
 17632         
 17634         
 17633                 {
 17635                 {
 17634                     identifier_c param_name("N");
 17636                     identifier_c N_param_name("N");
 17635                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17637                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17636                     symbol_c *N_param_value = function_call_param_iterator.search_f(&param_name);
 17638                     symbol_c *N_param_value = function_call_param_iterator.search_f(&N_param_name);
 17637                     symbol_c *N_type_symbol = NULL;
 17639                     symbol_c *N_type_symbol = NULL;
 17638                     
 17640                     
 17639                     /* Get the value from a foo(<param_value>) style call */
 17641                     /* Get the value from a foo(<param_value>) style call */
 17640                     if (N_param_value == NULL)
 17642                     if (N_param_value == NULL)
 17641                       N_param_value = function_call_param_iterator.next_nf();
 17643                       N_param_value = function_call_param_iterator.next_nf();
 17649                 
 17651                 
 17650                         function_name = (symbol_c*)(new pragma_c("__rol_"));
 17652                         function_name = (symbol_c*)(new pragma_c("__rol_"));
 17651                         
 17653                         
 17652                         if (IN_type_symbol == NULL)
 17654                         if (IN_type_symbol == NULL)
 17653                           IN_type_symbol = last_type_symbol;
 17655                           IN_type_symbol = last_type_symbol;
 17654                         ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17656                         ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 17655                         
 17657                         
 17656                         if (N_type_symbol == NULL)
 17658                         if (N_type_symbol == NULL)
 17657                           N_type_symbol = last_type_symbol;
 17659                           N_type_symbol = last_type_symbol;
 17658                         ADD_PARAM_LIST(N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17660                         ADD_PARAM_LIST(&N_param_name, N_param_value, N_type_symbol, function_param_iterator_c::direction_in)
 17659                         symbol_c * return_type_symbol = IN_type_symbol;
 17661                         symbol_c * return_type_symbol = IN_type_symbol;
 17660                         function_type_suffix = IN_type_symbol;
 17662                         function_type_suffix = IN_type_symbol;
 17661                         break;
 17663                         break;
 17662                         
 17664                         
 17663                     }
 17665                     }
 17681     case function_and :
 17683     case function_and :
 17682     {
 17684     {
 17683         symbol_c *last_type_symbol = NULL;
 17685         symbol_c *last_type_symbol = NULL;
 17684 
 17686 
 17685         {
 17687         {
 17686             identifier_c param_name("IN1");
 17688             identifier_c IN1_param_name("IN1");
 17687             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17689             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17688             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 17690             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 17689             symbol_c *IN1_type_symbol = NULL;
 17691             symbol_c *IN1_type_symbol = NULL;
 17690             
 17692             
 17691             /* Get the value from a foo(<param_value>) style call */
 17693             /* Get the value from a foo(<param_value>) style call */
 17692             if (IN1_param_value == NULL)
 17694             if (IN1_param_value == NULL)
 17693               IN1_param_value = function_call_param_iterator.next_nf();
 17695               IN1_param_value = function_call_param_iterator.next_nf();
 17698             
 17700             
 17699             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 17701             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 17700             {
 17702             {
 17701         
 17703         
 17702                 {
 17704                 {
 17703                     identifier_c param_name("IN2");
 17705                     identifier_c IN2_param_name("IN2");
 17704                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17706                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17705                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 17707                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17706                     symbol_c *IN2_type_symbol = NULL;
 17708                     symbol_c *IN2_type_symbol = NULL;
 17707                     
 17709                     
 17708                     /* Get the value from a foo(<param_value>) style call */
 17710                     /* Get the value from a foo(<param_value>) style call */
 17709                     if (IN2_param_value == NULL)
 17711                     if (IN2_param_value == NULL)
 17710                       IN2_param_value = function_call_param_iterator.next_nf();
 17712                       IN2_param_value = function_call_param_iterator.next_nf();
 17720                         
 17722                         
 17721                         if (nb_param < 2)
 17723                         if (nb_param < 2)
 17722                           nb_param = 2;
 17724                           nb_param = 2;
 17723                         char* nb_param_str = new char[10];
 17725                         char* nb_param_str = new char[10];
 17724                         sprintf(nb_param_str, "%d", nb_param);
 17726                         sprintf(nb_param_str, "%d", nb_param);
 17725                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 17727                         identifier_c nb_param_name("nb_param");
       
 17728                         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)
 17726                         
 17729                         
 17727                         if (IN1_type_symbol == NULL)
 17730                         if (IN1_type_symbol == NULL)
 17728                           IN1_type_symbol = last_type_symbol;
 17731                           IN1_type_symbol = last_type_symbol;
 17729                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17732                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17730                         
 17733                         
 17731                         if (IN2_type_symbol == NULL)
 17734                         if (IN2_type_symbol == NULL)
 17732                           IN2_type_symbol = last_type_symbol;
 17735                           IN2_type_symbol = last_type_symbol;
 17733                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17736                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17734                         
 17737                         
 17735                         int base_num = 3;
 17738                         int base_num = 3;
 17736                         symbol_c *param_value = NULL;
 17739                         symbol_c *param_value = NULL;
 17737                         do{
 17740                         do{
 17738                             char my_name[10];
 17741                             char my_name[10];
 17748                             if (param_value != NULL){
 17751                             if (param_value != NULL){
 17749                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 17752                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 17750                                 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 ;
 17753                                 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 ;
 17751                             
 17754                             
 17752                                 /*Function specific CODE */
 17755                                 /*Function specific CODE */
 17753                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 17756                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 17754                             }
 17757                             }
 17755                             
 17758                             
 17756                         }while(param_value != NULL);
 17759                         }while(param_value != NULL);
 17757                         symbol_c * return_type_symbol;
 17760                         symbol_c * return_type_symbol;
 17758                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17761                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17783     case function_or :
 17786     case function_or :
 17784     {
 17787     {
 17785         symbol_c *last_type_symbol = NULL;
 17788         symbol_c *last_type_symbol = NULL;
 17786 
 17789 
 17787         {
 17790         {
 17788             identifier_c param_name("IN1");
 17791             identifier_c IN1_param_name("IN1");
 17789             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17792             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17790             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 17793             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 17791             symbol_c *IN1_type_symbol = NULL;
 17794             symbol_c *IN1_type_symbol = NULL;
 17792             
 17795             
 17793             /* Get the value from a foo(<param_value>) style call */
 17796             /* Get the value from a foo(<param_value>) style call */
 17794             if (IN1_param_value == NULL)
 17797             if (IN1_param_value == NULL)
 17795               IN1_param_value = function_call_param_iterator.next_nf();
 17798               IN1_param_value = function_call_param_iterator.next_nf();
 17800             
 17803             
 17801             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 17804             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 17802             {
 17805             {
 17803         
 17806         
 17804                 {
 17807                 {
 17805                     identifier_c param_name("IN2");
 17808                     identifier_c IN2_param_name("IN2");
 17806                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17809                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17807                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 17810                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17808                     symbol_c *IN2_type_symbol = NULL;
 17811                     symbol_c *IN2_type_symbol = NULL;
 17809                     
 17812                     
 17810                     /* Get the value from a foo(<param_value>) style call */
 17813                     /* Get the value from a foo(<param_value>) style call */
 17811                     if (IN2_param_value == NULL)
 17814                     if (IN2_param_value == NULL)
 17812                       IN2_param_value = function_call_param_iterator.next_nf();
 17815                       IN2_param_value = function_call_param_iterator.next_nf();
 17822                         
 17825                         
 17823                         if (nb_param < 2)
 17826                         if (nb_param < 2)
 17824                           nb_param = 2;
 17827                           nb_param = 2;
 17825                         char* nb_param_str = new char[10];
 17828                         char* nb_param_str = new char[10];
 17826                         sprintf(nb_param_str, "%d", nb_param);
 17829                         sprintf(nb_param_str, "%d", nb_param);
 17827                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 17830                         identifier_c nb_param_name("nb_param");
       
 17831                         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)
 17828                         
 17832                         
 17829                         if (IN1_type_symbol == NULL)
 17833                         if (IN1_type_symbol == NULL)
 17830                           IN1_type_symbol = last_type_symbol;
 17834                           IN1_type_symbol = last_type_symbol;
 17831                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17835                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17832                         
 17836                         
 17833                         if (IN2_type_symbol == NULL)
 17837                         if (IN2_type_symbol == NULL)
 17834                           IN2_type_symbol = last_type_symbol;
 17838                           IN2_type_symbol = last_type_symbol;
 17835                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17839                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17836                         
 17840                         
 17837                         int base_num = 3;
 17841                         int base_num = 3;
 17838                         symbol_c *param_value = NULL;
 17842                         symbol_c *param_value = NULL;
 17839                         do{
 17843                         do{
 17840                             char my_name[10];
 17844                             char my_name[10];
 17850                             if (param_value != NULL){
 17854                             if (param_value != NULL){
 17851                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 17855                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 17852                                 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 ;
 17856                                 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 ;
 17853                             
 17857                             
 17854                                 /*Function specific CODE */
 17858                                 /*Function specific CODE */
 17855                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 17859                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 17856                             }
 17860                             }
 17857                             
 17861                             
 17858                         }while(param_value != NULL);
 17862                         }while(param_value != NULL);
 17859                         symbol_c * return_type_symbol;
 17863                         symbol_c * return_type_symbol;
 17860                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17864                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17885     case function_xor :
 17889     case function_xor :
 17886     {
 17890     {
 17887         symbol_c *last_type_symbol = NULL;
 17891         symbol_c *last_type_symbol = NULL;
 17888 
 17892 
 17889         {
 17893         {
 17890             identifier_c param_name("IN1");
 17894             identifier_c IN1_param_name("IN1");
 17891             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17895             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17892             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 17896             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 17893             symbol_c *IN1_type_symbol = NULL;
 17897             symbol_c *IN1_type_symbol = NULL;
 17894             
 17898             
 17895             /* Get the value from a foo(<param_value>) style call */
 17899             /* Get the value from a foo(<param_value>) style call */
 17896             if (IN1_param_value == NULL)
 17900             if (IN1_param_value == NULL)
 17897               IN1_param_value = function_call_param_iterator.next_nf();
 17901               IN1_param_value = function_call_param_iterator.next_nf();
 17902             
 17906             
 17903             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 17907             if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol))
 17904             {
 17908             {
 17905         
 17909         
 17906                 {
 17910                 {
 17907                     identifier_c param_name("IN2");
 17911                     identifier_c IN2_param_name("IN2");
 17908                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17912                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 17909                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 17913                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 17910                     symbol_c *IN2_type_symbol = NULL;
 17914                     symbol_c *IN2_type_symbol = NULL;
 17911                     
 17915                     
 17912                     /* Get the value from a foo(<param_value>) style call */
 17916                     /* Get the value from a foo(<param_value>) style call */
 17913                     if (IN2_param_value == NULL)
 17917                     if (IN2_param_value == NULL)
 17914                       IN2_param_value = function_call_param_iterator.next_nf();
 17918                       IN2_param_value = function_call_param_iterator.next_nf();
 17924                         
 17928                         
 17925                         if (nb_param < 2)
 17929                         if (nb_param < 2)
 17926                           nb_param = 2;
 17930                           nb_param = 2;
 17927                         char* nb_param_str = new char[10];
 17931                         char* nb_param_str = new char[10];
 17928                         sprintf(nb_param_str, "%d", nb_param);
 17932                         sprintf(nb_param_str, "%d", nb_param);
 17929                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 17933                         identifier_c nb_param_name("nb_param");
       
 17934                         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)
 17930                         
 17935                         
 17931                         if (IN1_type_symbol == NULL)
 17936                         if (IN1_type_symbol == NULL)
 17932                           IN1_type_symbol = last_type_symbol;
 17937                           IN1_type_symbol = last_type_symbol;
 17933                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17938                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 17934                         
 17939                         
 17935                         if (IN2_type_symbol == NULL)
 17940                         if (IN2_type_symbol == NULL)
 17936                           IN2_type_symbol = last_type_symbol;
 17941                           IN2_type_symbol = last_type_symbol;
 17937                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17942                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 17938                         
 17943                         
 17939                         int base_num = 3;
 17944                         int base_num = 3;
 17940                         symbol_c *param_value = NULL;
 17945                         symbol_c *param_value = NULL;
 17941                         do{
 17946                         do{
 17942                             char my_name[10];
 17947                             char my_name[10];
 17952                             if (param_value != NULL){
 17957                             if (param_value != NULL){
 17953                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 17958                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 17954                                 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 ;
 17959                                 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 ;
 17955                             
 17960                             
 17956                                 /*Function specific CODE */
 17961                                 /*Function specific CODE */
 17957                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 17962                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 17958                             }
 17963                             }
 17959                             
 17964                             
 17960                         }while(param_value != NULL);
 17965                         }while(param_value != NULL);
 17961                         symbol_c * return_type_symbol;
 17966                         symbol_c * return_type_symbol;
 17962                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17967                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 17987     case function_not :
 17992     case function_not :
 17988     {
 17993     {
 17989         symbol_c *last_type_symbol = NULL;
 17994         symbol_c *last_type_symbol = NULL;
 17990 
 17995 
 17991         {
 17996         {
 17992             identifier_c param_name("IN");
 17997             identifier_c IN_param_name("IN");
 17993             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17998             /* Get the value from a foo(<param_name> = <param_value>) style call */
 17994             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 17999             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 17995             symbol_c *IN_type_symbol = NULL;
 18000             symbol_c *IN_type_symbol = NULL;
 17996             
 18001             
 17997             /* Get the value from a foo(<param_value>) style call */
 18002             /* Get the value from a foo(<param_value>) style call */
 17998             if (IN_param_value == NULL)
 18003             if (IN_param_value == NULL)
 17999               IN_param_value = function_call_param_iterator.next_nf();
 18004               IN_param_value = function_call_param_iterator.next_nf();
 18007         
 18012         
 18008                 function_name = (symbol_c*)(new pragma_c("__not_"));
 18013                 function_name = (symbol_c*)(new pragma_c("__not_"));
 18009                 
 18014                 
 18010                 if (IN_type_symbol == NULL)
 18015                 if (IN_type_symbol == NULL)
 18011                   IN_type_symbol = last_type_symbol;
 18016                   IN_type_symbol = last_type_symbol;
 18012                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 18017                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 18013                 symbol_c * return_type_symbol = IN_type_symbol;
 18018                 symbol_c * return_type_symbol = IN_type_symbol;
 18014                 function_type_suffix = return_type_symbol;
 18019                 function_type_suffix = return_type_symbol;
 18015                 break;
 18020                 break;
 18016                 
 18021                 
 18017             }
 18022             }
 18029     case function_sel :
 18034     case function_sel :
 18030     {
 18035     {
 18031         symbol_c *last_type_symbol = NULL;
 18036         symbol_c *last_type_symbol = NULL;
 18032 
 18037 
 18033         {
 18038         {
 18034             identifier_c param_name("G");
 18039             identifier_c G_param_name("G");
 18035             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18040             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18036             symbol_c *G_param_value = function_call_param_iterator.search_f(&param_name);
 18041             symbol_c *G_param_value = function_call_param_iterator.search_f(&G_param_name);
 18037             symbol_c *G_type_symbol = NULL;
 18042             symbol_c *G_type_symbol = NULL;
 18038             
 18043             
 18039             /* Get the value from a foo(<param_value>) style call */
 18044             /* Get the value from a foo(<param_value>) style call */
 18040             if (G_param_value == NULL)
 18045             if (G_param_value == NULL)
 18041               G_param_value = function_call_param_iterator.next_nf();
 18046               G_param_value = function_call_param_iterator.next_nf();
 18046             
 18051             
 18047             if(G_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 18052             if(G_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
 18048             {
 18053             {
 18049         
 18054         
 18050                 {
 18055                 {
 18051                     identifier_c param_name("IN0");
 18056                     identifier_c IN0_param_name("IN0");
 18052                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18057                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18053                     symbol_c *IN0_param_value = function_call_param_iterator.search_f(&param_name);
 18058                     symbol_c *IN0_param_value = function_call_param_iterator.search_f(&IN0_param_name);
 18054                     symbol_c *IN0_type_symbol = NULL;
 18059                     symbol_c *IN0_type_symbol = NULL;
 18055                     
 18060                     
 18056                     /* Get the value from a foo(<param_value>) style call */
 18061                     /* Get the value from a foo(<param_value>) style call */
 18057                     if (IN0_param_value == NULL)
 18062                     if (IN0_param_value == NULL)
 18058                       IN0_param_value = function_call_param_iterator.next_nf();
 18063                       IN0_param_value = function_call_param_iterator.next_nf();
 18063                     
 18068                     
 18064                     
 18069                     
 18065                     {
 18070                     {
 18066                 
 18071                 
 18067                         {
 18072                         {
 18068                             identifier_c param_name("IN1");
 18073                             identifier_c IN1_param_name("IN1");
 18069                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18074                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18070                             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 18075                             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18071                             symbol_c *IN1_type_symbol = NULL;
 18076                             symbol_c *IN1_type_symbol = NULL;
 18072                             
 18077                             
 18073                             /* Get the value from a foo(<param_value>) style call */
 18078                             /* Get the value from a foo(<param_value>) style call */
 18074                             if (IN1_param_value == NULL)
 18079                             if (IN1_param_value == NULL)
 18075                               IN1_param_value = function_call_param_iterator.next_nf();
 18080                               IN1_param_value = function_call_param_iterator.next_nf();
 18083                         
 18088                         
 18084                                 function_name = (symbol_c*)(new pragma_c("__sel_"));
 18089                                 function_name = (symbol_c*)(new pragma_c("__sel_"));
 18085                                 
 18090                                 
 18086                                 if (G_type_symbol == NULL)
 18091                                 if (G_type_symbol == NULL)
 18087                                   G_type_symbol = last_type_symbol;
 18092                                   G_type_symbol = last_type_symbol;
 18088                                 ADD_PARAM_LIST(G_param_value, G_type_symbol, function_param_iterator_c::direction_in)
 18093                                 ADD_PARAM_LIST(&G_param_name, G_param_value, G_type_symbol, function_param_iterator_c::direction_in)
 18089                                 
 18094                                 
 18090                                 if (IN0_type_symbol == NULL)
 18095                                 if (IN0_type_symbol == NULL)
 18091                                   IN0_type_symbol = last_type_symbol;
 18096                                   IN0_type_symbol = last_type_symbol;
 18092                                 ADD_PARAM_LIST(IN0_param_value, IN0_type_symbol, function_param_iterator_c::direction_in)
 18097                                 ADD_PARAM_LIST(&IN0_param_name, IN0_param_value, IN0_type_symbol, function_param_iterator_c::direction_in)
 18093                                 
 18098                                 
 18094                                 if (IN1_type_symbol == NULL)
 18099                                 if (IN1_type_symbol == NULL)
 18095                                   IN1_type_symbol = last_type_symbol;
 18100                                   IN1_type_symbol = last_type_symbol;
 18096                                 ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18101                                 ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18097                                 symbol_c * return_type_symbol;
 18102                                 symbol_c * return_type_symbol;
 18098                                 if (search_expression_type->is_literal_integer_type(last_type_symbol))
 18103                                 if (search_expression_type->is_literal_integer_type(last_type_symbol))
 18099                                     return_type_symbol = &search_constant_type_c::lint_type_name;
 18104                                     return_type_symbol = &search_constant_type_c::lint_type_name;
 18100                                 else if (search_expression_type->is_literal_real_type(last_type_symbol))
 18105                                 else if (search_expression_type->is_literal_real_type(last_type_symbol))
 18101                                     return_type_symbol = &search_constant_type_c::lreal_type_name;
 18106                                     return_type_symbol = &search_constant_type_c::lreal_type_name;
 18131     case function_max :
 18136     case function_max :
 18132     {
 18137     {
 18133         symbol_c *last_type_symbol = NULL;
 18138         symbol_c *last_type_symbol = NULL;
 18134 
 18139 
 18135         {
 18140         {
 18136             identifier_c param_name("IN1");
 18141             identifier_c IN1_param_name("IN1");
 18137             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18142             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18138             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 18143             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18139             symbol_c *IN1_type_symbol = NULL;
 18144             symbol_c *IN1_type_symbol = NULL;
 18140             
 18145             
 18141             /* Get the value from a foo(<param_value>) style call */
 18146             /* Get the value from a foo(<param_value>) style call */
 18142             if (IN1_param_value == NULL)
 18147             if (IN1_param_value == NULL)
 18143               IN1_param_value = function_call_param_iterator.next_nf();
 18148               IN1_param_value = function_call_param_iterator.next_nf();
 18148             
 18153             
 18149             
 18154             
 18150             {
 18155             {
 18151         
 18156         
 18152                 {
 18157                 {
 18153                     identifier_c param_name("IN2");
 18158                     identifier_c IN2_param_name("IN2");
 18154                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18159                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18155                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 18160                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18156                     symbol_c *IN2_type_symbol = NULL;
 18161                     symbol_c *IN2_type_symbol = NULL;
 18157                     
 18162                     
 18158                     /* Get the value from a foo(<param_value>) style call */
 18163                     /* Get the value from a foo(<param_value>) style call */
 18159                     if (IN2_param_value == NULL)
 18164                     if (IN2_param_value == NULL)
 18160                       IN2_param_value = function_call_param_iterator.next_nf();
 18165                       IN2_param_value = function_call_param_iterator.next_nf();
 18170                         
 18175                         
 18171                         if (nb_param < 2)
 18176                         if (nb_param < 2)
 18172                           nb_param = 2;
 18177                           nb_param = 2;
 18173                         char* nb_param_str = new char[10];
 18178                         char* nb_param_str = new char[10];
 18174                         sprintf(nb_param_str, "%d", nb_param);
 18179                         sprintf(nb_param_str, "%d", nb_param);
 18175                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18180                         identifier_c nb_param_name("nb_param");
       
 18181                         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)
 18176                         
 18182                         
 18177                         if (IN1_type_symbol == NULL)
 18183                         if (IN1_type_symbol == NULL)
 18178                           IN1_type_symbol = last_type_symbol;
 18184                           IN1_type_symbol = last_type_symbol;
 18179                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18185                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18180                         
 18186                         
 18181                         if (IN2_type_symbol == NULL)
 18187                         if (IN2_type_symbol == NULL)
 18182                           IN2_type_symbol = last_type_symbol;
 18188                           IN2_type_symbol = last_type_symbol;
 18183                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18189                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18184                         
 18190                         
 18185                         int base_num = 3;
 18191                         int base_num = 3;
 18186                         symbol_c *param_value = NULL;
 18192                         symbol_c *param_value = NULL;
 18187                         do{
 18193                         do{
 18188                             char my_name[10];
 18194                             char my_name[10];
 18198                             if (param_value != NULL){
 18204                             if (param_value != NULL){
 18199                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18205                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18200                                 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 ;
 18206                                 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 ;
 18201                             
 18207                             
 18202                                 /*Function specific CODE */
 18208                                 /*Function specific CODE */
 18203                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18209                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18204                             }
 18210                             }
 18205                             
 18211                             
 18206                         }while(param_value != NULL);
 18212                         }while(param_value != NULL);
 18207                         symbol_c * return_type_symbol;
 18213                         symbol_c * return_type_symbol;
 18208                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 18214                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 18235     case function_min :
 18241     case function_min :
 18236     {
 18242     {
 18237         symbol_c *last_type_symbol = NULL;
 18243         symbol_c *last_type_symbol = NULL;
 18238 
 18244 
 18239         {
 18245         {
 18240             identifier_c param_name("IN1");
 18246             identifier_c IN1_param_name("IN1");
 18241             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18247             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18242             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 18248             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18243             symbol_c *IN1_type_symbol = NULL;
 18249             symbol_c *IN1_type_symbol = NULL;
 18244             
 18250             
 18245             /* Get the value from a foo(<param_value>) style call */
 18251             /* Get the value from a foo(<param_value>) style call */
 18246             if (IN1_param_value == NULL)
 18252             if (IN1_param_value == NULL)
 18247               IN1_param_value = function_call_param_iterator.next_nf();
 18253               IN1_param_value = function_call_param_iterator.next_nf();
 18252             
 18258             
 18253             
 18259             
 18254             {
 18260             {
 18255         
 18261         
 18256                 {
 18262                 {
 18257                     identifier_c param_name("IN2");
 18263                     identifier_c IN2_param_name("IN2");
 18258                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18264                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18259                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 18265                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18260                     symbol_c *IN2_type_symbol = NULL;
 18266                     symbol_c *IN2_type_symbol = NULL;
 18261                     
 18267                     
 18262                     /* Get the value from a foo(<param_value>) style call */
 18268                     /* Get the value from a foo(<param_value>) style call */
 18263                     if (IN2_param_value == NULL)
 18269                     if (IN2_param_value == NULL)
 18264                       IN2_param_value = function_call_param_iterator.next_nf();
 18270                       IN2_param_value = function_call_param_iterator.next_nf();
 18274                         
 18280                         
 18275                         if (nb_param < 2)
 18281                         if (nb_param < 2)
 18276                           nb_param = 2;
 18282                           nb_param = 2;
 18277                         char* nb_param_str = new char[10];
 18283                         char* nb_param_str = new char[10];
 18278                         sprintf(nb_param_str, "%d", nb_param);
 18284                         sprintf(nb_param_str, "%d", nb_param);
 18279                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18285                         identifier_c nb_param_name("nb_param");
       
 18286                         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)
 18280                         
 18287                         
 18281                         if (IN1_type_symbol == NULL)
 18288                         if (IN1_type_symbol == NULL)
 18282                           IN1_type_symbol = last_type_symbol;
 18289                           IN1_type_symbol = last_type_symbol;
 18283                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18290                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18284                         
 18291                         
 18285                         if (IN2_type_symbol == NULL)
 18292                         if (IN2_type_symbol == NULL)
 18286                           IN2_type_symbol = last_type_symbol;
 18293                           IN2_type_symbol = last_type_symbol;
 18287                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18294                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18288                         
 18295                         
 18289                         int base_num = 3;
 18296                         int base_num = 3;
 18290                         symbol_c *param_value = NULL;
 18297                         symbol_c *param_value = NULL;
 18291                         do{
 18298                         do{
 18292                             char my_name[10];
 18299                             char my_name[10];
 18302                             if (param_value != NULL){
 18309                             if (param_value != NULL){
 18303                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18310                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18304                                 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 ;
 18311                                 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 ;
 18305                             
 18312                             
 18306                                 /*Function specific CODE */
 18313                                 /*Function specific CODE */
 18307                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18314                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18308                             }
 18315                             }
 18309                             
 18316                             
 18310                         }while(param_value != NULL);
 18317                         }while(param_value != NULL);
 18311                         symbol_c * return_type_symbol;
 18318                         symbol_c * return_type_symbol;
 18312                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 18319                         if (search_expression_type->is_literal_integer_type(last_type_symbol))
 18339     case function_limit :
 18346     case function_limit :
 18340     {
 18347     {
 18341         symbol_c *last_type_symbol = NULL;
 18348         symbol_c *last_type_symbol = NULL;
 18342 
 18349 
 18343         {
 18350         {
 18344             identifier_c param_name("MN");
 18351             identifier_c MN_param_name("MN");
 18345             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18352             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18346             symbol_c *MN_param_value = function_call_param_iterator.search_f(&param_name);
 18353             symbol_c *MN_param_value = function_call_param_iterator.search_f(&MN_param_name);
 18347             symbol_c *MN_type_symbol = NULL;
 18354             symbol_c *MN_type_symbol = NULL;
 18348             
 18355             
 18349             /* Get the value from a foo(<param_value>) style call */
 18356             /* Get the value from a foo(<param_value>) style call */
 18350             if (MN_param_value == NULL)
 18357             if (MN_param_value == NULL)
 18351               MN_param_value = function_call_param_iterator.next_nf();
 18358               MN_param_value = function_call_param_iterator.next_nf();
 18356             
 18363             
 18357             
 18364             
 18358             {
 18365             {
 18359         
 18366         
 18360                 {
 18367                 {
 18361                     identifier_c param_name("IN");
 18368                     identifier_c IN_param_name("IN");
 18362                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18369                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18363                     symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 18370                     symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 18364                     symbol_c *IN_type_symbol = NULL;
 18371                     symbol_c *IN_type_symbol = NULL;
 18365                     
 18372                     
 18366                     /* Get the value from a foo(<param_value>) style call */
 18373                     /* Get the value from a foo(<param_value>) style call */
 18367                     if (IN_param_value == NULL)
 18374                     if (IN_param_value == NULL)
 18368                       IN_param_value = function_call_param_iterator.next_nf();
 18375                       IN_param_value = function_call_param_iterator.next_nf();
 18373                     
 18380                     
 18374                     
 18381                     
 18375                     {
 18382                     {
 18376                 
 18383                 
 18377                         {
 18384                         {
 18378                             identifier_c param_name("MX");
 18385                             identifier_c MX_param_name("MX");
 18379                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18386                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18380                             symbol_c *MX_param_value = function_call_param_iterator.search_f(&param_name);
 18387                             symbol_c *MX_param_value = function_call_param_iterator.search_f(&MX_param_name);
 18381                             symbol_c *MX_type_symbol = NULL;
 18388                             symbol_c *MX_type_symbol = NULL;
 18382                             
 18389                             
 18383                             /* Get the value from a foo(<param_value>) style call */
 18390                             /* Get the value from a foo(<param_value>) style call */
 18384                             if (MX_param_value == NULL)
 18391                             if (MX_param_value == NULL)
 18385                               MX_param_value = function_call_param_iterator.next_nf();
 18392                               MX_param_value = function_call_param_iterator.next_nf();
 18393                         
 18400                         
 18394                                 function_name = (symbol_c*)(new pragma_c("__limit_"));
 18401                                 function_name = (symbol_c*)(new pragma_c("__limit_"));
 18395                                 
 18402                                 
 18396                                 if (MN_type_symbol == NULL)
 18403                                 if (MN_type_symbol == NULL)
 18397                                   MN_type_symbol = last_type_symbol;
 18404                                   MN_type_symbol = last_type_symbol;
 18398                                 ADD_PARAM_LIST(MN_param_value, MN_type_symbol, function_param_iterator_c::direction_in)
 18405                                 ADD_PARAM_LIST(&MN_param_name, MN_param_value, MN_type_symbol, function_param_iterator_c::direction_in)
 18399                                 
 18406                                 
 18400                                 if (IN_type_symbol == NULL)
 18407                                 if (IN_type_symbol == NULL)
 18401                                   IN_type_symbol = last_type_symbol;
 18408                                   IN_type_symbol = last_type_symbol;
 18402                                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 18409                                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 18403                                 
 18410                                 
 18404                                 if (MX_type_symbol == NULL)
 18411                                 if (MX_type_symbol == NULL)
 18405                                   MX_type_symbol = last_type_symbol;
 18412                                   MX_type_symbol = last_type_symbol;
 18406                                 ADD_PARAM_LIST(MX_param_value, MX_type_symbol, function_param_iterator_c::direction_in)
 18413                                 ADD_PARAM_LIST(&MX_param_name, MX_param_value, MX_type_symbol, function_param_iterator_c::direction_in)
 18407                                 symbol_c * return_type_symbol = IN_type_symbol;
 18414                                 symbol_c * return_type_symbol = IN_type_symbol;
 18408                                 function_type_suffix = IN_type_symbol;
 18415                                 function_type_suffix = IN_type_symbol;
 18409                                 break;
 18416                                 break;
 18410                                 
 18417                                 
 18411                             }
 18418                             }
 18435     case function_mux :
 18442     case function_mux :
 18436     {
 18443     {
 18437         symbol_c *last_type_symbol = NULL;
 18444         symbol_c *last_type_symbol = NULL;
 18438 
 18445 
 18439         {
 18446         {
 18440             identifier_c param_name("K");
 18447             identifier_c K_param_name("K");
 18441             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18448             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18442             symbol_c *K_param_value = function_call_param_iterator.search_f(&param_name);
 18449             symbol_c *K_param_value = function_call_param_iterator.search_f(&K_param_name);
 18443             symbol_c *K_type_symbol = NULL;
 18450             symbol_c *K_type_symbol = NULL;
 18444             
 18451             
 18445             /* Get the value from a foo(<param_value>) style call */
 18452             /* Get the value from a foo(<param_value>) style call */
 18446             if (K_param_value == NULL)
 18453             if (K_param_value == NULL)
 18447               K_param_value = function_call_param_iterator.next_nf();
 18454               K_param_value = function_call_param_iterator.next_nf();
 18452             
 18459             
 18453             if(K_type_symbol == NULL || search_expression_type->is_integer_type(K_type_symbol))
 18460             if(K_type_symbol == NULL || search_expression_type->is_integer_type(K_type_symbol))
 18454             {
 18461             {
 18455         
 18462         
 18456                 {
 18463                 {
 18457                     identifier_c param_name("IN0");
 18464                     identifier_c IN0_param_name("IN0");
 18458                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18465                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18459                     symbol_c *IN0_param_value = function_call_param_iterator.search_f(&param_name);
 18466                     symbol_c *IN0_param_value = function_call_param_iterator.search_f(&IN0_param_name);
 18460                     symbol_c *IN0_type_symbol = NULL;
 18467                     symbol_c *IN0_type_symbol = NULL;
 18461                     
 18468                     
 18462                     /* Get the value from a foo(<param_value>) style call */
 18469                     /* Get the value from a foo(<param_value>) style call */
 18463                     if (IN0_param_value == NULL)
 18470                     if (IN0_param_value == NULL)
 18464                       IN0_param_value = function_call_param_iterator.next_nf();
 18471                       IN0_param_value = function_call_param_iterator.next_nf();
 18469                     
 18476                     
 18470                     
 18477                     
 18471                     {
 18478                     {
 18472                 
 18479                 
 18473                         {
 18480                         {
 18474                             identifier_c param_name("IN1");
 18481                             identifier_c IN1_param_name("IN1");
 18475                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18482                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18476                             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 18483                             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18477                             symbol_c *IN1_type_symbol = NULL;
 18484                             symbol_c *IN1_type_symbol = NULL;
 18478                             
 18485                             
 18479                             /* Get the value from a foo(<param_value>) style call */
 18486                             /* Get the value from a foo(<param_value>) style call */
 18480                             if (IN1_param_value == NULL)
 18487                             if (IN1_param_value == NULL)
 18481                               IN1_param_value = function_call_param_iterator.next_nf();
 18488                               IN1_param_value = function_call_param_iterator.next_nf();
 18491                                 
 18498                                 
 18492                                 if (nb_param < 3)
 18499                                 if (nb_param < 3)
 18493                                   nb_param = 3;
 18500                                   nb_param = 3;
 18494                                 char* nb_param_str = new char[10];
 18501                                 char* nb_param_str = new char[10];
 18495                                 sprintf(nb_param_str, "%d", nb_param);
 18502                                 sprintf(nb_param_str, "%d", nb_param);
 18496                                 ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18503                                 identifier_c nb_param_name("nb_param");
       
 18504                                 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)
 18497                                 
 18505                                 
 18498                                 if (K_type_symbol == NULL)
 18506                                 if (K_type_symbol == NULL)
 18499                                   K_type_symbol = last_type_symbol;
 18507                                   K_type_symbol = last_type_symbol;
 18500                                 ADD_PARAM_LIST(K_param_value, K_type_symbol, function_param_iterator_c::direction_in)
 18508                                 ADD_PARAM_LIST(&K_param_name, K_param_value, K_type_symbol, function_param_iterator_c::direction_in)
 18501                                 
 18509                                 
 18502                                 if (IN0_type_symbol == NULL)
 18510                                 if (IN0_type_symbol == NULL)
 18503                                   IN0_type_symbol = last_type_symbol;
 18511                                   IN0_type_symbol = last_type_symbol;
 18504                                 ADD_PARAM_LIST(IN0_param_value, IN0_type_symbol, function_param_iterator_c::direction_in)
 18512                                 ADD_PARAM_LIST(&IN0_param_name, IN0_param_value, IN0_type_symbol, function_param_iterator_c::direction_in)
 18505                                 
 18513                                 
 18506                                 if (IN1_type_symbol == NULL)
 18514                                 if (IN1_type_symbol == NULL)
 18507                                   IN1_type_symbol = last_type_symbol;
 18515                                   IN1_type_symbol = last_type_symbol;
 18508                                 ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18516                                 ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18509                                 
 18517                                 
 18510                                 int base_num = 2;
 18518                                 int base_num = 2;
 18511                                 symbol_c *param_value = NULL;
 18519                                 symbol_c *param_value = NULL;
 18512                                 do{
 18520                                 do{
 18513                                     char my_name[10];
 18521                                     char my_name[10];
 18523                                     if (param_value != NULL){
 18531                                     if (param_value != NULL){
 18524                                         symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18532                                         symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18525                                         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 ;
 18533                                         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 ;
 18526                                     
 18534                                     
 18527                                         /*Function specific CODE */
 18535                                         /*Function specific CODE */
 18528                                         ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18536                                         ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18529                                     }
 18537                                     }
 18530                                     
 18538                                     
 18531                                 }while(param_value != NULL);
 18539                                 }while(param_value != NULL);
 18532                                 symbol_c * return_type_symbol;
 18540                                 symbol_c * return_type_symbol;
 18533                                 if (search_expression_type->is_literal_integer_type(last_type_symbol))
 18541                                 if (search_expression_type->is_literal_integer_type(last_type_symbol))
 18566     case function_gt :
 18574     case function_gt :
 18567     {
 18575     {
 18568         symbol_c *last_type_symbol = NULL;
 18576         symbol_c *last_type_symbol = NULL;
 18569 
 18577 
 18570         {
 18578         {
 18571             identifier_c param_name("IN1");
 18579             identifier_c IN1_param_name("IN1");
 18572             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18580             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18573             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 18581             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18574             symbol_c *IN1_type_symbol = NULL;
 18582             symbol_c *IN1_type_symbol = NULL;
 18575             
 18583             
 18576             /* Get the value from a foo(<param_value>) style call */
 18584             /* Get the value from a foo(<param_value>) style call */
 18577             if (IN1_param_value == NULL)
 18585             if (IN1_param_value == NULL)
 18578               IN1_param_value = function_call_param_iterator.next_nf();
 18586               IN1_param_value = function_call_param_iterator.next_nf();
 18583             
 18591             
 18584             
 18592             
 18585             {
 18593             {
 18586         
 18594         
 18587                 {
 18595                 {
 18588                     identifier_c param_name("IN2");
 18596                     identifier_c IN2_param_name("IN2");
 18589                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18597                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18590                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 18598                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18591                     symbol_c *IN2_type_symbol = NULL;
 18599                     symbol_c *IN2_type_symbol = NULL;
 18592                     
 18600                     
 18593                     /* Get the value from a foo(<param_value>) style call */
 18601                     /* Get the value from a foo(<param_value>) style call */
 18594                     if (IN2_param_value == NULL)
 18602                     if (IN2_param_value == NULL)
 18595                       IN2_param_value = function_call_param_iterator.next_nf();
 18603                       IN2_param_value = function_call_param_iterator.next_nf();
 18605                         
 18613                         
 18606                         if (nb_param < 2)
 18614                         if (nb_param < 2)
 18607                           nb_param = 2;
 18615                           nb_param = 2;
 18608                         char* nb_param_str = new char[10];
 18616                         char* nb_param_str = new char[10];
 18609                         sprintf(nb_param_str, "%d", nb_param);
 18617                         sprintf(nb_param_str, "%d", nb_param);
 18610                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18618                         identifier_c nb_param_name("nb_param");
       
 18619                         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)
 18611                         
 18620                         
 18612                         if (IN1_type_symbol == NULL)
 18621                         if (IN1_type_symbol == NULL)
 18613                           IN1_type_symbol = last_type_symbol;
 18622                           IN1_type_symbol = last_type_symbol;
 18614                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18623                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18615                         
 18624                         
 18616                         if (IN2_type_symbol == NULL)
 18625                         if (IN2_type_symbol == NULL)
 18617                           IN2_type_symbol = last_type_symbol;
 18626                           IN2_type_symbol = last_type_symbol;
 18618                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18627                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18619                         
 18628                         
 18620                         int base_num = 3;
 18629                         int base_num = 3;
 18621                         symbol_c *param_value = NULL;
 18630                         symbol_c *param_value = NULL;
 18622                         do{
 18631                         do{
 18623                             char my_name[10];
 18632                             char my_name[10];
 18633                             if (param_value != NULL){
 18642                             if (param_value != NULL){
 18634                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18643                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18635                                 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 ;
 18644                                 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 ;
 18636                             
 18645                             
 18637                                 /*Function specific CODE */
 18646                                 /*Function specific CODE */
 18638                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18647                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18639                             }
 18648                             }
 18640                             
 18649                             
 18641                         }while(param_value != NULL);
 18650                         }while(param_value != NULL);
 18642                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18651                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18643                         function_type_suffix = last_type_symbol;
 18652                         function_type_suffix = last_type_symbol;
 18664     case function_ge :
 18673     case function_ge :
 18665     {
 18674     {
 18666         symbol_c *last_type_symbol = NULL;
 18675         symbol_c *last_type_symbol = NULL;
 18667 
 18676 
 18668         {
 18677         {
 18669             identifier_c param_name("IN1");
 18678             identifier_c IN1_param_name("IN1");
 18670             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18679             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18671             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 18680             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18672             symbol_c *IN1_type_symbol = NULL;
 18681             symbol_c *IN1_type_symbol = NULL;
 18673             
 18682             
 18674             /* Get the value from a foo(<param_value>) style call */
 18683             /* Get the value from a foo(<param_value>) style call */
 18675             if (IN1_param_value == NULL)
 18684             if (IN1_param_value == NULL)
 18676               IN1_param_value = function_call_param_iterator.next_nf();
 18685               IN1_param_value = function_call_param_iterator.next_nf();
 18681             
 18690             
 18682             
 18691             
 18683             {
 18692             {
 18684         
 18693         
 18685                 {
 18694                 {
 18686                     identifier_c param_name("IN2");
 18695                     identifier_c IN2_param_name("IN2");
 18687                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18696                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18688                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 18697                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18689                     symbol_c *IN2_type_symbol = NULL;
 18698                     symbol_c *IN2_type_symbol = NULL;
 18690                     
 18699                     
 18691                     /* Get the value from a foo(<param_value>) style call */
 18700                     /* Get the value from a foo(<param_value>) style call */
 18692                     if (IN2_param_value == NULL)
 18701                     if (IN2_param_value == NULL)
 18693                       IN2_param_value = function_call_param_iterator.next_nf();
 18702                       IN2_param_value = function_call_param_iterator.next_nf();
 18703                         
 18712                         
 18704                         if (nb_param < 2)
 18713                         if (nb_param < 2)
 18705                           nb_param = 2;
 18714                           nb_param = 2;
 18706                         char* nb_param_str = new char[10];
 18715                         char* nb_param_str = new char[10];
 18707                         sprintf(nb_param_str, "%d", nb_param);
 18716                         sprintf(nb_param_str, "%d", nb_param);
 18708                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18717                         identifier_c nb_param_name("nb_param");
       
 18718                         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)
 18709                         
 18719                         
 18710                         if (IN1_type_symbol == NULL)
 18720                         if (IN1_type_symbol == NULL)
 18711                           IN1_type_symbol = last_type_symbol;
 18721                           IN1_type_symbol = last_type_symbol;
 18712                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18722                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18713                         
 18723                         
 18714                         if (IN2_type_symbol == NULL)
 18724                         if (IN2_type_symbol == NULL)
 18715                           IN2_type_symbol = last_type_symbol;
 18725                           IN2_type_symbol = last_type_symbol;
 18716                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18726                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18717                         
 18727                         
 18718                         int base_num = 3;
 18728                         int base_num = 3;
 18719                         symbol_c *param_value = NULL;
 18729                         symbol_c *param_value = NULL;
 18720                         do{
 18730                         do{
 18721                             char my_name[10];
 18731                             char my_name[10];
 18731                             if (param_value != NULL){
 18741                             if (param_value != NULL){
 18732                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18742                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18733                                 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 ;
 18743                                 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 ;
 18734                             
 18744                             
 18735                                 /*Function specific CODE */
 18745                                 /*Function specific CODE */
 18736                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18746                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18737                             }
 18747                             }
 18738                             
 18748                             
 18739                         }while(param_value != NULL);
 18749                         }while(param_value != NULL);
 18740                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18750                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18741                         function_type_suffix = last_type_symbol;
 18751                         function_type_suffix = last_type_symbol;
 18762     case function_eq :
 18772     case function_eq :
 18763     {
 18773     {
 18764         symbol_c *last_type_symbol = NULL;
 18774         symbol_c *last_type_symbol = NULL;
 18765 
 18775 
 18766         {
 18776         {
 18767             identifier_c param_name("IN1");
 18777             identifier_c IN1_param_name("IN1");
 18768             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18778             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18769             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 18779             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18770             symbol_c *IN1_type_symbol = NULL;
 18780             symbol_c *IN1_type_symbol = NULL;
 18771             
 18781             
 18772             /* Get the value from a foo(<param_value>) style call */
 18782             /* Get the value from a foo(<param_value>) style call */
 18773             if (IN1_param_value == NULL)
 18783             if (IN1_param_value == NULL)
 18774               IN1_param_value = function_call_param_iterator.next_nf();
 18784               IN1_param_value = function_call_param_iterator.next_nf();
 18779             
 18789             
 18780             
 18790             
 18781             {
 18791             {
 18782         
 18792         
 18783                 {
 18793                 {
 18784                     identifier_c param_name("IN2");
 18794                     identifier_c IN2_param_name("IN2");
 18785                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18795                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18786                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 18796                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18787                     symbol_c *IN2_type_symbol = NULL;
 18797                     symbol_c *IN2_type_symbol = NULL;
 18788                     
 18798                     
 18789                     /* Get the value from a foo(<param_value>) style call */
 18799                     /* Get the value from a foo(<param_value>) style call */
 18790                     if (IN2_param_value == NULL)
 18800                     if (IN2_param_value == NULL)
 18791                       IN2_param_value = function_call_param_iterator.next_nf();
 18801                       IN2_param_value = function_call_param_iterator.next_nf();
 18801                         
 18811                         
 18802                         if (nb_param < 2)
 18812                         if (nb_param < 2)
 18803                           nb_param = 2;
 18813                           nb_param = 2;
 18804                         char* nb_param_str = new char[10];
 18814                         char* nb_param_str = new char[10];
 18805                         sprintf(nb_param_str, "%d", nb_param);
 18815                         sprintf(nb_param_str, "%d", nb_param);
 18806                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18816                         identifier_c nb_param_name("nb_param");
       
 18817                         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)
 18807                         
 18818                         
 18808                         if (IN1_type_symbol == NULL)
 18819                         if (IN1_type_symbol == NULL)
 18809                           IN1_type_symbol = last_type_symbol;
 18820                           IN1_type_symbol = last_type_symbol;
 18810                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18821                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18811                         
 18822                         
 18812                         if (IN2_type_symbol == NULL)
 18823                         if (IN2_type_symbol == NULL)
 18813                           IN2_type_symbol = last_type_symbol;
 18824                           IN2_type_symbol = last_type_symbol;
 18814                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18825                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18815                         
 18826                         
 18816                         int base_num = 3;
 18827                         int base_num = 3;
 18817                         symbol_c *param_value = NULL;
 18828                         symbol_c *param_value = NULL;
 18818                         do{
 18829                         do{
 18819                             char my_name[10];
 18830                             char my_name[10];
 18829                             if (param_value != NULL){
 18840                             if (param_value != NULL){
 18830                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18841                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18831                                 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 ;
 18842                                 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 ;
 18832                             
 18843                             
 18833                                 /*Function specific CODE */
 18844                                 /*Function specific CODE */
 18834                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18845                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18835                             }
 18846                             }
 18836                             
 18847                             
 18837                         }while(param_value != NULL);
 18848                         }while(param_value != NULL);
 18838                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18849                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18839                         function_type_suffix = last_type_symbol;
 18850                         function_type_suffix = last_type_symbol;
 18860     case function_lt :
 18871     case function_lt :
 18861     {
 18872     {
 18862         symbol_c *last_type_symbol = NULL;
 18873         symbol_c *last_type_symbol = NULL;
 18863 
 18874 
 18864         {
 18875         {
 18865             identifier_c param_name("IN1");
 18876             identifier_c IN1_param_name("IN1");
 18866             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18877             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18867             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 18878             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18868             symbol_c *IN1_type_symbol = NULL;
 18879             symbol_c *IN1_type_symbol = NULL;
 18869             
 18880             
 18870             /* Get the value from a foo(<param_value>) style call */
 18881             /* Get the value from a foo(<param_value>) style call */
 18871             if (IN1_param_value == NULL)
 18882             if (IN1_param_value == NULL)
 18872               IN1_param_value = function_call_param_iterator.next_nf();
 18883               IN1_param_value = function_call_param_iterator.next_nf();
 18877             
 18888             
 18878             
 18889             
 18879             {
 18890             {
 18880         
 18891         
 18881                 {
 18892                 {
 18882                     identifier_c param_name("IN2");
 18893                     identifier_c IN2_param_name("IN2");
 18883                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18894                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18884                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 18895                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18885                     symbol_c *IN2_type_symbol = NULL;
 18896                     symbol_c *IN2_type_symbol = NULL;
 18886                     
 18897                     
 18887                     /* Get the value from a foo(<param_value>) style call */
 18898                     /* Get the value from a foo(<param_value>) style call */
 18888                     if (IN2_param_value == NULL)
 18899                     if (IN2_param_value == NULL)
 18889                       IN2_param_value = function_call_param_iterator.next_nf();
 18900                       IN2_param_value = function_call_param_iterator.next_nf();
 18899                         
 18910                         
 18900                         if (nb_param < 2)
 18911                         if (nb_param < 2)
 18901                           nb_param = 2;
 18912                           nb_param = 2;
 18902                         char* nb_param_str = new char[10];
 18913                         char* nb_param_str = new char[10];
 18903                         sprintf(nb_param_str, "%d", nb_param);
 18914                         sprintf(nb_param_str, "%d", nb_param);
 18904                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 18915                         identifier_c nb_param_name("nb_param");
       
 18916                         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)
 18905                         
 18917                         
 18906                         if (IN1_type_symbol == NULL)
 18918                         if (IN1_type_symbol == NULL)
 18907                           IN1_type_symbol = last_type_symbol;
 18919                           IN1_type_symbol = last_type_symbol;
 18908                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18920                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 18909                         
 18921                         
 18910                         if (IN2_type_symbol == NULL)
 18922                         if (IN2_type_symbol == NULL)
 18911                           IN2_type_symbol = last_type_symbol;
 18923                           IN2_type_symbol = last_type_symbol;
 18912                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18924                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 18913                         
 18925                         
 18914                         int base_num = 3;
 18926                         int base_num = 3;
 18915                         symbol_c *param_value = NULL;
 18927                         symbol_c *param_value = NULL;
 18916                         do{
 18928                         do{
 18917                             char my_name[10];
 18929                             char my_name[10];
 18927                             if (param_value != NULL){
 18939                             if (param_value != NULL){
 18928                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18940                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 18929                                 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 ;
 18941                                 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 ;
 18930                             
 18942                             
 18931                                 /*Function specific CODE */
 18943                                 /*Function specific CODE */
 18932                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18944                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 18933                             }
 18945                             }
 18934                             
 18946                             
 18935                         }while(param_value != NULL);
 18947                         }while(param_value != NULL);
 18936                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18948                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 18937                         function_type_suffix = last_type_symbol;
 18949                         function_type_suffix = last_type_symbol;
 18958     case function_le :
 18970     case function_le :
 18959     {
 18971     {
 18960         symbol_c *last_type_symbol = NULL;
 18972         symbol_c *last_type_symbol = NULL;
 18961 
 18973 
 18962         {
 18974         {
 18963             identifier_c param_name("IN1");
 18975             identifier_c IN1_param_name("IN1");
 18964             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18976             /* Get the value from a foo(<param_name> = <param_value>) style call */
 18965             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 18977             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 18966             symbol_c *IN1_type_symbol = NULL;
 18978             symbol_c *IN1_type_symbol = NULL;
 18967             
 18979             
 18968             /* Get the value from a foo(<param_value>) style call */
 18980             /* Get the value from a foo(<param_value>) style call */
 18969             if (IN1_param_value == NULL)
 18981             if (IN1_param_value == NULL)
 18970               IN1_param_value = function_call_param_iterator.next_nf();
 18982               IN1_param_value = function_call_param_iterator.next_nf();
 18975             
 18987             
 18976             
 18988             
 18977             {
 18989             {
 18978         
 18990         
 18979                 {
 18991                 {
 18980                     identifier_c param_name("IN2");
 18992                     identifier_c IN2_param_name("IN2");
 18981                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18993                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 18982                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 18994                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 18983                     symbol_c *IN2_type_symbol = NULL;
 18995                     symbol_c *IN2_type_symbol = NULL;
 18984                     
 18996                     
 18985                     /* Get the value from a foo(<param_value>) style call */
 18997                     /* Get the value from a foo(<param_value>) style call */
 18986                     if (IN2_param_value == NULL)
 18998                     if (IN2_param_value == NULL)
 18987                       IN2_param_value = function_call_param_iterator.next_nf();
 18999                       IN2_param_value = function_call_param_iterator.next_nf();
 18997                         
 19009                         
 18998                         if (nb_param < 2)
 19010                         if (nb_param < 2)
 18999                           nb_param = 2;
 19011                           nb_param = 2;
 19000                         char* nb_param_str = new char[10];
 19012                         char* nb_param_str = new char[10];
 19001                         sprintf(nb_param_str, "%d", nb_param);
 19013                         sprintf(nb_param_str, "%d", nb_param);
 19002                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 19014                         identifier_c nb_param_name("nb_param");
       
 19015                         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)
 19003                         
 19016                         
 19004                         if (IN1_type_symbol == NULL)
 19017                         if (IN1_type_symbol == NULL)
 19005                           IN1_type_symbol = last_type_symbol;
 19018                           IN1_type_symbol = last_type_symbol;
 19006                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19019                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19007                         
 19020                         
 19008                         if (IN2_type_symbol == NULL)
 19021                         if (IN2_type_symbol == NULL)
 19009                           IN2_type_symbol = last_type_symbol;
 19022                           IN2_type_symbol = last_type_symbol;
 19010                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19023                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19011                         
 19024                         
 19012                         int base_num = 3;
 19025                         int base_num = 3;
 19013                         symbol_c *param_value = NULL;
 19026                         symbol_c *param_value = NULL;
 19014                         do{
 19027                         do{
 19015                             char my_name[10];
 19028                             char my_name[10];
 19025                             if (param_value != NULL){
 19038                             if (param_value != NULL){
 19026                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 19039                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 19027                                 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 ;
 19040                                 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 ;
 19028                             
 19041                             
 19029                                 /*Function specific CODE */
 19042                                 /*Function specific CODE */
 19030                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 19043                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 19031                             }
 19044                             }
 19032                             
 19045                             
 19033                         }while(param_value != NULL);
 19046                         }while(param_value != NULL);
 19034                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 19047                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 19035                         function_type_suffix = last_type_symbol;
 19048                         function_type_suffix = last_type_symbol;
 19056     case function_ne :
 19069     case function_ne :
 19057     {
 19070     {
 19058         symbol_c *last_type_symbol = NULL;
 19071         symbol_c *last_type_symbol = NULL;
 19059 
 19072 
 19060         {
 19073         {
 19061             identifier_c param_name("IN1");
 19074             identifier_c IN1_param_name("IN1");
 19062             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19075             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19063             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 19076             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 19064             symbol_c *IN1_type_symbol = NULL;
 19077             symbol_c *IN1_type_symbol = NULL;
 19065             
 19078             
 19066             /* Get the value from a foo(<param_value>) style call */
 19079             /* Get the value from a foo(<param_value>) style call */
 19067             if (IN1_param_value == NULL)
 19080             if (IN1_param_value == NULL)
 19068               IN1_param_value = function_call_param_iterator.next_nf();
 19081               IN1_param_value = function_call_param_iterator.next_nf();
 19073             
 19086             
 19074             
 19087             
 19075             {
 19088             {
 19076         
 19089         
 19077                 {
 19090                 {
 19078                     identifier_c param_name("IN2");
 19091                     identifier_c IN2_param_name("IN2");
 19079                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19092                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19080                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 19093                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 19081                     symbol_c *IN2_type_symbol = NULL;
 19094                     symbol_c *IN2_type_symbol = NULL;
 19082                     
 19095                     
 19083                     /* Get the value from a foo(<param_value>) style call */
 19096                     /* Get the value from a foo(<param_value>) style call */
 19084                     if (IN2_param_value == NULL)
 19097                     if (IN2_param_value == NULL)
 19085                       IN2_param_value = function_call_param_iterator.next_nf();
 19098                       IN2_param_value = function_call_param_iterator.next_nf();
 19095                         
 19108                         
 19096                         if (nb_param < 2)
 19109                         if (nb_param < 2)
 19097                           nb_param = 2;
 19110                           nb_param = 2;
 19098                         char* nb_param_str = new char[10];
 19111                         char* nb_param_str = new char[10];
 19099                         sprintf(nb_param_str, "%d", nb_param);
 19112                         sprintf(nb_param_str, "%d", nb_param);
 19100                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 19113                         identifier_c nb_param_name("nb_param");
       
 19114                         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)
 19101                         
 19115                         
 19102                         if (IN1_type_symbol == NULL)
 19116                         if (IN1_type_symbol == NULL)
 19103                           IN1_type_symbol = last_type_symbol;
 19117                           IN1_type_symbol = last_type_symbol;
 19104                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19118                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19105                         
 19119                         
 19106                         if (IN2_type_symbol == NULL)
 19120                         if (IN2_type_symbol == NULL)
 19107                           IN2_type_symbol = last_type_symbol;
 19121                           IN2_type_symbol = last_type_symbol;
 19108                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19122                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19109                         
 19123                         
 19110                         int base_num = 3;
 19124                         int base_num = 3;
 19111                         symbol_c *param_value = NULL;
 19125                         symbol_c *param_value = NULL;
 19112                         do{
 19126                         do{
 19113                             char my_name[10];
 19127                             char my_name[10];
 19123                             if (param_value != NULL){
 19137                             if (param_value != NULL){
 19124                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 19138                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 19125                                 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 ;
 19139                                 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 ;
 19126                             
 19140                             
 19127                                 /*Function specific CODE */
 19141                                 /*Function specific CODE */
 19128                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 19142                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 19129                             }
 19143                             }
 19130                             
 19144                             
 19131                         }while(param_value != NULL);
 19145                         }while(param_value != NULL);
 19132                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 19146                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
 19133                         function_type_suffix = last_type_symbol;
 19147                         function_type_suffix = last_type_symbol;
 19154     case function_len :
 19168     case function_len :
 19155     {
 19169     {
 19156         symbol_c *last_type_symbol = NULL;
 19170         symbol_c *last_type_symbol = NULL;
 19157 
 19171 
 19158         {
 19172         {
 19159             identifier_c param_name("IN");
 19173             identifier_c IN_param_name("IN");
 19160             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19174             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19161             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 19175             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 19162             symbol_c *IN_type_symbol = NULL;
 19176             symbol_c *IN_type_symbol = NULL;
 19163             
 19177             
 19164             /* Get the value from a foo(<param_value>) style call */
 19178             /* Get the value from a foo(<param_value>) style call */
 19165             if (IN_param_value == NULL)
 19179             if (IN_param_value == NULL)
 19166               IN_param_value = function_call_param_iterator.next_nf();
 19180               IN_param_value = function_call_param_iterator.next_nf();
 19174         
 19188         
 19175                 function_name = (symbol_c*)(new pragma_c("__len"));
 19189                 function_name = (symbol_c*)(new pragma_c("__len"));
 19176                 
 19190                 
 19177                 if (IN_type_symbol == NULL)
 19191                 if (IN_type_symbol == NULL)
 19178                   IN_type_symbol = last_type_symbol;
 19192                   IN_type_symbol = last_type_symbol;
 19179                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19193                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19180                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19194                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19181                 break;
 19195                 break;
 19182                 
 19196                 
 19183             }
 19197             }
 19184             
 19198             
 19195     case function_left :
 19209     case function_left :
 19196     {
 19210     {
 19197         symbol_c *last_type_symbol = NULL;
 19211         symbol_c *last_type_symbol = NULL;
 19198 
 19212 
 19199         {
 19213         {
 19200             identifier_c param_name("IN");
 19214             identifier_c IN_param_name("IN");
 19201             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19215             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19202             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 19216             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 19203             symbol_c *IN_type_symbol = NULL;
 19217             symbol_c *IN_type_symbol = NULL;
 19204             
 19218             
 19205             /* Get the value from a foo(<param_value>) style call */
 19219             /* Get the value from a foo(<param_value>) style call */
 19206             if (IN_param_value == NULL)
 19220             if (IN_param_value == NULL)
 19207               IN_param_value = function_call_param_iterator.next_nf();
 19221               IN_param_value = function_call_param_iterator.next_nf();
 19212             
 19226             
 19213             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19227             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19214             {
 19228             {
 19215         
 19229         
 19216                 {
 19230                 {
 19217                     identifier_c param_name("L");
 19231                     identifier_c L_param_name("L");
 19218                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19232                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19219                     symbol_c *L_param_value = function_call_param_iterator.search_f(&param_name);
 19233                     symbol_c *L_param_value = function_call_param_iterator.search_f(&L_param_name);
 19220                     symbol_c *L_type_symbol = NULL;
 19234                     symbol_c *L_type_symbol = NULL;
 19221                     
 19235                     
 19222                     /* Get the value from a foo(<param_value>) style call */
 19236                     /* Get the value from a foo(<param_value>) style call */
 19223                     if (L_param_value == NULL)
 19237                     if (L_param_value == NULL)
 19224                       L_param_value = function_call_param_iterator.next_nf();
 19238                       L_param_value = function_call_param_iterator.next_nf();
 19232                 
 19246                 
 19233                         function_name = (symbol_c*)(new pragma_c("__left"));
 19247                         function_name = (symbol_c*)(new pragma_c("__left"));
 19234                         
 19248                         
 19235                         if (IN_type_symbol == NULL)
 19249                         if (IN_type_symbol == NULL)
 19236                           IN_type_symbol = last_type_symbol;
 19250                           IN_type_symbol = last_type_symbol;
 19237                         ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19251                         ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19238                         
 19252                         
 19239                         if (L_type_symbol == NULL)
 19253                         if (L_type_symbol == NULL)
 19240                           L_type_symbol = last_type_symbol;
 19254                           L_type_symbol = last_type_symbol;
 19241                         ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19255                         ADD_PARAM_LIST(&L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19242                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19256                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19243                         break;
 19257                         break;
 19244                         
 19258                         
 19245                     }
 19259                     }
 19246                     
 19260                     
 19263     case function_right :
 19277     case function_right :
 19264     {
 19278     {
 19265         symbol_c *last_type_symbol = NULL;
 19279         symbol_c *last_type_symbol = NULL;
 19266 
 19280 
 19267         {
 19281         {
 19268             identifier_c param_name("IN");
 19282             identifier_c IN_param_name("IN");
 19269             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19283             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19270             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 19284             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 19271             symbol_c *IN_type_symbol = NULL;
 19285             symbol_c *IN_type_symbol = NULL;
 19272             
 19286             
 19273             /* Get the value from a foo(<param_value>) style call */
 19287             /* Get the value from a foo(<param_value>) style call */
 19274             if (IN_param_value == NULL)
 19288             if (IN_param_value == NULL)
 19275               IN_param_value = function_call_param_iterator.next_nf();
 19289               IN_param_value = function_call_param_iterator.next_nf();
 19280             
 19294             
 19281             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19295             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19282             {
 19296             {
 19283         
 19297         
 19284                 {
 19298                 {
 19285                     identifier_c param_name("L");
 19299                     identifier_c L_param_name("L");
 19286                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19300                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19287                     symbol_c *L_param_value = function_call_param_iterator.search_f(&param_name);
 19301                     symbol_c *L_param_value = function_call_param_iterator.search_f(&L_param_name);
 19288                     symbol_c *L_type_symbol = NULL;
 19302                     symbol_c *L_type_symbol = NULL;
 19289                     
 19303                     
 19290                     /* Get the value from a foo(<param_value>) style call */
 19304                     /* Get the value from a foo(<param_value>) style call */
 19291                     if (L_param_value == NULL)
 19305                     if (L_param_value == NULL)
 19292                       L_param_value = function_call_param_iterator.next_nf();
 19306                       L_param_value = function_call_param_iterator.next_nf();
 19300                 
 19314                 
 19301                         function_name = (symbol_c*)(new pragma_c("__right"));
 19315                         function_name = (symbol_c*)(new pragma_c("__right"));
 19302                         
 19316                         
 19303                         if (IN_type_symbol == NULL)
 19317                         if (IN_type_symbol == NULL)
 19304                           IN_type_symbol = last_type_symbol;
 19318                           IN_type_symbol = last_type_symbol;
 19305                         ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19319                         ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19306                         
 19320                         
 19307                         if (L_type_symbol == NULL)
 19321                         if (L_type_symbol == NULL)
 19308                           L_type_symbol = last_type_symbol;
 19322                           L_type_symbol = last_type_symbol;
 19309                         ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19323                         ADD_PARAM_LIST(&L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19310                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19324                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19311                         break;
 19325                         break;
 19312                         
 19326                         
 19313                     }
 19327                     }
 19314                     
 19328                     
 19331     case function_mid :
 19345     case function_mid :
 19332     {
 19346     {
 19333         symbol_c *last_type_symbol = NULL;
 19347         symbol_c *last_type_symbol = NULL;
 19334 
 19348 
 19335         {
 19349         {
 19336             identifier_c param_name("IN");
 19350             identifier_c IN_param_name("IN");
 19337             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19351             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19338             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 19352             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 19339             symbol_c *IN_type_symbol = NULL;
 19353             symbol_c *IN_type_symbol = NULL;
 19340             
 19354             
 19341             /* Get the value from a foo(<param_value>) style call */
 19355             /* Get the value from a foo(<param_value>) style call */
 19342             if (IN_param_value == NULL)
 19356             if (IN_param_value == NULL)
 19343               IN_param_value = function_call_param_iterator.next_nf();
 19357               IN_param_value = function_call_param_iterator.next_nf();
 19348             
 19362             
 19349             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19363             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19350             {
 19364             {
 19351         
 19365         
 19352                 {
 19366                 {
 19353                     identifier_c param_name("L");
 19367                     identifier_c L_param_name("L");
 19354                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19368                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19355                     symbol_c *L_param_value = function_call_param_iterator.search_f(&param_name);
 19369                     symbol_c *L_param_value = function_call_param_iterator.search_f(&L_param_name);
 19356                     symbol_c *L_type_symbol = NULL;
 19370                     symbol_c *L_type_symbol = NULL;
 19357                     
 19371                     
 19358                     /* Get the value from a foo(<param_value>) style call */
 19372                     /* Get the value from a foo(<param_value>) style call */
 19359                     if (L_param_value == NULL)
 19373                     if (L_param_value == NULL)
 19360                       L_param_value = function_call_param_iterator.next_nf();
 19374                       L_param_value = function_call_param_iterator.next_nf();
 19365                     
 19379                     
 19366                     if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol))
 19380                     if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol))
 19367                     {
 19381                     {
 19368                 
 19382                 
 19369                         {
 19383                         {
 19370                             identifier_c param_name("P");
 19384                             identifier_c P_param_name("P");
 19371                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19385                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19372                             symbol_c *P_param_value = function_call_param_iterator.search_f(&param_name);
 19386                             symbol_c *P_param_value = function_call_param_iterator.search_f(&P_param_name);
 19373                             symbol_c *P_type_symbol = NULL;
 19387                             symbol_c *P_type_symbol = NULL;
 19374                             
 19388                             
 19375                             /* Get the value from a foo(<param_value>) style call */
 19389                             /* Get the value from a foo(<param_value>) style call */
 19376                             if (P_param_value == NULL)
 19390                             if (P_param_value == NULL)
 19377                               P_param_value = function_call_param_iterator.next_nf();
 19391                               P_param_value = function_call_param_iterator.next_nf();
 19385                         
 19399                         
 19386                                 function_name = (symbol_c*)(new pragma_c("__mid"));
 19400                                 function_name = (symbol_c*)(new pragma_c("__mid"));
 19387                                 
 19401                                 
 19388                                 if (IN_type_symbol == NULL)
 19402                                 if (IN_type_symbol == NULL)
 19389                                   IN_type_symbol = last_type_symbol;
 19403                                   IN_type_symbol = last_type_symbol;
 19390                                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19404                                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19391                                 
 19405                                 
 19392                                 if (L_type_symbol == NULL)
 19406                                 if (L_type_symbol == NULL)
 19393                                   L_type_symbol = last_type_symbol;
 19407                                   L_type_symbol = last_type_symbol;
 19394                                 ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19408                                 ADD_PARAM_LIST(&L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19395                                 
 19409                                 
 19396                                 if (P_type_symbol == NULL)
 19410                                 if (P_type_symbol == NULL)
 19397                                   P_type_symbol = last_type_symbol;
 19411                                   P_type_symbol = last_type_symbol;
 19398                                 ADD_PARAM_LIST(P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19412                                 ADD_PARAM_LIST(&P_param_name, P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19399                                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19413                                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19400                                 break;
 19414                                 break;
 19401                                 
 19415                                 
 19402                             }
 19416                             }
 19403                             
 19417                             
 19426     case function_concat :
 19440     case function_concat :
 19427     {
 19441     {
 19428         symbol_c *last_type_symbol = NULL;
 19442         symbol_c *last_type_symbol = NULL;
 19429 
 19443 
 19430         {
 19444         {
 19431             identifier_c param_name("IN1");
 19445             identifier_c IN1_param_name("IN1");
 19432             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19446             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19433             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 19447             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 19434             symbol_c *IN1_type_symbol = NULL;
 19448             symbol_c *IN1_type_symbol = NULL;
 19435             
 19449             
 19436             /* Get the value from a foo(<param_value>) style call */
 19450             /* Get the value from a foo(<param_value>) style call */
 19437             if (IN1_param_value == NULL)
 19451             if (IN1_param_value == NULL)
 19438               IN1_param_value = function_call_param_iterator.next_nf();
 19452               IN1_param_value = function_call_param_iterator.next_nf();
 19443             
 19457             
 19444             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19458             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
 19445             {
 19459             {
 19446         
 19460         
 19447                 {
 19461                 {
 19448                     identifier_c param_name("IN2");
 19462                     identifier_c IN2_param_name("IN2");
 19449                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19463                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19450                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 19464                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 19451                     symbol_c *IN2_type_symbol = NULL;
 19465                     symbol_c *IN2_type_symbol = NULL;
 19452                     
 19466                     
 19453                     /* Get the value from a foo(<param_value>) style call */
 19467                     /* Get the value from a foo(<param_value>) style call */
 19454                     if (IN2_param_value == NULL)
 19468                     if (IN2_param_value == NULL)
 19455                       IN2_param_value = function_call_param_iterator.next_nf();
 19469                       IN2_param_value = function_call_param_iterator.next_nf();
 19463                 
 19477                 
 19464                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 19478                         function_name = (symbol_c*)(new pragma_c("__time_add"));
 19465                         
 19479                         
 19466                         if (IN1_type_symbol == NULL)
 19480                         if (IN1_type_symbol == NULL)
 19467                           IN1_type_symbol = last_type_symbol;
 19481                           IN1_type_symbol = last_type_symbol;
 19468                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19482                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19469                         
 19483                         
 19470                         if (IN2_type_symbol == NULL)
 19484                         if (IN2_type_symbol == NULL)
 19471                           IN2_type_symbol = last_type_symbol;
 19485                           IN2_type_symbol = last_type_symbol;
 19472                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19486                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19473                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 19487                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
 19474                         break;
 19488                         break;
 19475                         
 19489                         
 19476                     }
 19490                     }
 19477                     
 19491                     
 19483             
 19497             
 19484             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19498             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19485             {
 19499             {
 19486         
 19500         
 19487                 {
 19501                 {
 19488                     identifier_c param_name("IN2");
 19502                     identifier_c IN2_param_name("IN2");
 19489                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19503                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19490                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 19504                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 19491                     symbol_c *IN2_type_symbol = NULL;
 19505                     symbol_c *IN2_type_symbol = NULL;
 19492                     
 19506                     
 19493                     /* Get the value from a foo(<param_value>) style call */
 19507                     /* Get the value from a foo(<param_value>) style call */
 19494                     if (IN2_param_value == NULL)
 19508                     if (IN2_param_value == NULL)
 19495                       IN2_param_value = function_call_param_iterator.next_nf();
 19509                       IN2_param_value = function_call_param_iterator.next_nf();
 19505                         
 19519                         
 19506                         if (nb_param < 2)
 19520                         if (nb_param < 2)
 19507                           nb_param = 2;
 19521                           nb_param = 2;
 19508                         char* nb_param_str = new char[10];
 19522                         char* nb_param_str = new char[10];
 19509                         sprintf(nb_param_str, "%d", nb_param);
 19523                         sprintf(nb_param_str, "%d", nb_param);
 19510                         ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in)
 19524                         identifier_c nb_param_name("nb_param");
       
 19525                         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)
 19511                         
 19526                         
 19512                         if (IN1_type_symbol == NULL)
 19527                         if (IN1_type_symbol == NULL)
 19513                           IN1_type_symbol = last_type_symbol;
 19528                           IN1_type_symbol = last_type_symbol;
 19514                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19529                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19515                         
 19530                         
 19516                         if (IN2_type_symbol == NULL)
 19531                         if (IN2_type_symbol == NULL)
 19517                           IN2_type_symbol = last_type_symbol;
 19532                           IN2_type_symbol = last_type_symbol;
 19518                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19533                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19519                         
 19534                         
 19520                         int base_num = 3;
 19535                         int base_num = 3;
 19521                         symbol_c *param_value = NULL;
 19536                         symbol_c *param_value = NULL;
 19522                         do{
 19537                         do{
 19523                             char my_name[10];
 19538                             char my_name[10];
 19533                             if (param_value != NULL){
 19548                             if (param_value != NULL){
 19534                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 19549                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 19535                                 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 ;
 19550                                 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 ;
 19536                             
 19551                             
 19537                                 /*Function specific CODE */
 19552                                 /*Function specific CODE */
 19538                                 ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in)
 19553                                 ADD_PARAM_LIST(&param_name, param_value, current_type_symbol, function_param_iterator_c::direction_in)
 19539                             }
 19554                             }
 19540                             
 19555                             
 19541                         }while(param_value != NULL);
 19556                         }while(param_value != NULL);
 19542                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19557                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19543                         break;
 19558                         break;
 19563     case function_insert :
 19578     case function_insert :
 19564     {
 19579     {
 19565         symbol_c *last_type_symbol = NULL;
 19580         symbol_c *last_type_symbol = NULL;
 19566 
 19581 
 19567         {
 19582         {
 19568             identifier_c param_name("IN1");
 19583             identifier_c IN1_param_name("IN1");
 19569             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19584             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19570             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 19585             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 19571             symbol_c *IN1_type_symbol = NULL;
 19586             symbol_c *IN1_type_symbol = NULL;
 19572             
 19587             
 19573             /* Get the value from a foo(<param_value>) style call */
 19588             /* Get the value from a foo(<param_value>) style call */
 19574             if (IN1_param_value == NULL)
 19589             if (IN1_param_value == NULL)
 19575               IN1_param_value = function_call_param_iterator.next_nf();
 19590               IN1_param_value = function_call_param_iterator.next_nf();
 19580             
 19595             
 19581             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19596             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19582             {
 19597             {
 19583         
 19598         
 19584                 {
 19599                 {
 19585                     identifier_c param_name("IN2");
 19600                     identifier_c IN2_param_name("IN2");
 19586                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19601                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19587                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 19602                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 19588                     symbol_c *IN2_type_symbol = NULL;
 19603                     symbol_c *IN2_type_symbol = NULL;
 19589                     
 19604                     
 19590                     /* Get the value from a foo(<param_value>) style call */
 19605                     /* Get the value from a foo(<param_value>) style call */
 19591                     if (IN2_param_value == NULL)
 19606                     if (IN2_param_value == NULL)
 19592                       IN2_param_value = function_call_param_iterator.next_nf();
 19607                       IN2_param_value = function_call_param_iterator.next_nf();
 19597                     
 19612                     
 19598                     if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19613                     if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19599                     {
 19614                     {
 19600                 
 19615                 
 19601                         {
 19616                         {
 19602                             identifier_c param_name("P");
 19617                             identifier_c P_param_name("P");
 19603                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19618                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19604                             symbol_c *P_param_value = function_call_param_iterator.search_f(&param_name);
 19619                             symbol_c *P_param_value = function_call_param_iterator.search_f(&P_param_name);
 19605                             symbol_c *P_type_symbol = NULL;
 19620                             symbol_c *P_type_symbol = NULL;
 19606                             
 19621                             
 19607                             /* Get the value from a foo(<param_value>) style call */
 19622                             /* Get the value from a foo(<param_value>) style call */
 19608                             if (P_param_value == NULL)
 19623                             if (P_param_value == NULL)
 19609                               P_param_value = function_call_param_iterator.next_nf();
 19624                               P_param_value = function_call_param_iterator.next_nf();
 19617                         
 19632                         
 19618                                 function_name = (symbol_c*)(new pragma_c("__insert"));
 19633                                 function_name = (symbol_c*)(new pragma_c("__insert"));
 19619                                 
 19634                                 
 19620                                 if (IN1_type_symbol == NULL)
 19635                                 if (IN1_type_symbol == NULL)
 19621                                   IN1_type_symbol = last_type_symbol;
 19636                                   IN1_type_symbol = last_type_symbol;
 19622                                 ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19637                                 ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19623                                 
 19638                                 
 19624                                 if (IN2_type_symbol == NULL)
 19639                                 if (IN2_type_symbol == NULL)
 19625                                   IN2_type_symbol = last_type_symbol;
 19640                                   IN2_type_symbol = last_type_symbol;
 19626                                 ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19641                                 ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19627                                 
 19642                                 
 19628                                 if (P_type_symbol == NULL)
 19643                                 if (P_type_symbol == NULL)
 19629                                   P_type_symbol = last_type_symbol;
 19644                                   P_type_symbol = last_type_symbol;
 19630                                 ADD_PARAM_LIST(P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19645                                 ADD_PARAM_LIST(&P_param_name, P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19631                                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19646                                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19632                                 break;
 19647                                 break;
 19633                                 
 19648                                 
 19634                             }
 19649                             }
 19635                             
 19650                             
 19658     case function_delete :
 19673     case function_delete :
 19659     {
 19674     {
 19660         symbol_c *last_type_symbol = NULL;
 19675         symbol_c *last_type_symbol = NULL;
 19661 
 19676 
 19662         {
 19677         {
 19663             identifier_c param_name("IN");
 19678             identifier_c IN_param_name("IN");
 19664             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19679             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19665             symbol_c *IN_param_value = function_call_param_iterator.search_f(&param_name);
 19680             symbol_c *IN_param_value = function_call_param_iterator.search_f(&IN_param_name);
 19666             symbol_c *IN_type_symbol = NULL;
 19681             symbol_c *IN_type_symbol = NULL;
 19667             
 19682             
 19668             /* Get the value from a foo(<param_value>) style call */
 19683             /* Get the value from a foo(<param_value>) style call */
 19669             if (IN_param_value == NULL)
 19684             if (IN_param_value == NULL)
 19670               IN_param_value = function_call_param_iterator.next_nf();
 19685               IN_param_value = function_call_param_iterator.next_nf();
 19675             
 19690             
 19676             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19691             if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19677             {
 19692             {
 19678         
 19693         
 19679                 {
 19694                 {
 19680                     identifier_c param_name("L");
 19695                     identifier_c L_param_name("L");
 19681                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19696                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19682                     symbol_c *L_param_value = function_call_param_iterator.search_f(&param_name);
 19697                     symbol_c *L_param_value = function_call_param_iterator.search_f(&L_param_name);
 19683                     symbol_c *L_type_symbol = NULL;
 19698                     symbol_c *L_type_symbol = NULL;
 19684                     
 19699                     
 19685                     /* Get the value from a foo(<param_value>) style call */
 19700                     /* Get the value from a foo(<param_value>) style call */
 19686                     if (L_param_value == NULL)
 19701                     if (L_param_value == NULL)
 19687                       L_param_value = function_call_param_iterator.next_nf();
 19702                       L_param_value = function_call_param_iterator.next_nf();
 19692                     
 19707                     
 19693                     if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol))
 19708                     if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol))
 19694                     {
 19709                     {
 19695                 
 19710                 
 19696                         {
 19711                         {
 19697                             identifier_c param_name("P");
 19712                             identifier_c P_param_name("P");
 19698                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19713                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19699                             symbol_c *P_param_value = function_call_param_iterator.search_f(&param_name);
 19714                             symbol_c *P_param_value = function_call_param_iterator.search_f(&P_param_name);
 19700                             symbol_c *P_type_symbol = NULL;
 19715                             symbol_c *P_type_symbol = NULL;
 19701                             
 19716                             
 19702                             /* Get the value from a foo(<param_value>) style call */
 19717                             /* Get the value from a foo(<param_value>) style call */
 19703                             if (P_param_value == NULL)
 19718                             if (P_param_value == NULL)
 19704                               P_param_value = function_call_param_iterator.next_nf();
 19719                               P_param_value = function_call_param_iterator.next_nf();
 19712                         
 19727                         
 19713                                 function_name = (symbol_c*)(new pragma_c("__delete"));
 19728                                 function_name = (symbol_c*)(new pragma_c("__delete"));
 19714                                 
 19729                                 
 19715                                 if (IN_type_symbol == NULL)
 19730                                 if (IN_type_symbol == NULL)
 19716                                   IN_type_symbol = last_type_symbol;
 19731                                   IN_type_symbol = last_type_symbol;
 19717                                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19732                                 ADD_PARAM_LIST(&IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 19718                                 
 19733                                 
 19719                                 if (L_type_symbol == NULL)
 19734                                 if (L_type_symbol == NULL)
 19720                                   L_type_symbol = last_type_symbol;
 19735                                   L_type_symbol = last_type_symbol;
 19721                                 ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19736                                 ADD_PARAM_LIST(&L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19722                                 
 19737                                 
 19723                                 if (P_type_symbol == NULL)
 19738                                 if (P_type_symbol == NULL)
 19724                                   P_type_symbol = last_type_symbol;
 19739                                   P_type_symbol = last_type_symbol;
 19725                                 ADD_PARAM_LIST(P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19740                                 ADD_PARAM_LIST(&P_param_name, P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19726                                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19741                                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19727                                 break;
 19742                                 break;
 19728                                 
 19743                                 
 19729                             }
 19744                             }
 19730                             
 19745                             
 19753     case function_replace :
 19768     case function_replace :
 19754     {
 19769     {
 19755         symbol_c *last_type_symbol = NULL;
 19770         symbol_c *last_type_symbol = NULL;
 19756 
 19771 
 19757         {
 19772         {
 19758             identifier_c param_name("IN1");
 19773             identifier_c IN1_param_name("IN1");
 19759             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19774             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19760             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 19775             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 19761             symbol_c *IN1_type_symbol = NULL;
 19776             symbol_c *IN1_type_symbol = NULL;
 19762             
 19777             
 19763             /* Get the value from a foo(<param_value>) style call */
 19778             /* Get the value from a foo(<param_value>) style call */
 19764             if (IN1_param_value == NULL)
 19779             if (IN1_param_value == NULL)
 19765               IN1_param_value = function_call_param_iterator.next_nf();
 19780               IN1_param_value = function_call_param_iterator.next_nf();
 19770             
 19785             
 19771             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19786             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19772             {
 19787             {
 19773         
 19788         
 19774                 {
 19789                 {
 19775                     identifier_c param_name("IN2");
 19790                     identifier_c IN2_param_name("IN2");
 19776                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19791                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19777                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 19792                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 19778                     symbol_c *IN2_type_symbol = NULL;
 19793                     symbol_c *IN2_type_symbol = NULL;
 19779                     
 19794                     
 19780                     /* Get the value from a foo(<param_value>) style call */
 19795                     /* Get the value from a foo(<param_value>) style call */
 19781                     if (IN2_param_value == NULL)
 19796                     if (IN2_param_value == NULL)
 19782                       IN2_param_value = function_call_param_iterator.next_nf();
 19797                       IN2_param_value = function_call_param_iterator.next_nf();
 19787                     
 19802                     
 19788                     if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19803                     if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19789                     {
 19804                     {
 19790                 
 19805                 
 19791                         {
 19806                         {
 19792                             identifier_c param_name("L");
 19807                             identifier_c L_param_name("L");
 19793                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19808                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19794                             symbol_c *L_param_value = function_call_param_iterator.search_f(&param_name);
 19809                             symbol_c *L_param_value = function_call_param_iterator.search_f(&L_param_name);
 19795                             symbol_c *L_type_symbol = NULL;
 19810                             symbol_c *L_type_symbol = NULL;
 19796                             
 19811                             
 19797                             /* Get the value from a foo(<param_value>) style call */
 19812                             /* Get the value from a foo(<param_value>) style call */
 19798                             if (L_param_value == NULL)
 19813                             if (L_param_value == NULL)
 19799                               L_param_value = function_call_param_iterator.next_nf();
 19814                               L_param_value = function_call_param_iterator.next_nf();
 19804                             
 19819                             
 19805                             if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol))
 19820                             if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol))
 19806                             {
 19821                             {
 19807                         
 19822                         
 19808                                 {
 19823                                 {
 19809                                     identifier_c param_name("P");
 19824                                     identifier_c P_param_name("P");
 19810                                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19825                                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19811                                     symbol_c *P_param_value = function_call_param_iterator.search_f(&param_name);
 19826                                     symbol_c *P_param_value = function_call_param_iterator.search_f(&P_param_name);
 19812                                     symbol_c *P_type_symbol = NULL;
 19827                                     symbol_c *P_type_symbol = NULL;
 19813                                     
 19828                                     
 19814                                     /* Get the value from a foo(<param_value>) style call */
 19829                                     /* Get the value from a foo(<param_value>) style call */
 19815                                     if (P_param_value == NULL)
 19830                                     if (P_param_value == NULL)
 19816                                       P_param_value = function_call_param_iterator.next_nf();
 19831                                       P_param_value = function_call_param_iterator.next_nf();
 19824                                 
 19839                                 
 19825                                         function_name = (symbol_c*)(new pragma_c("__replace"));
 19840                                         function_name = (symbol_c*)(new pragma_c("__replace"));
 19826                                         
 19841                                         
 19827                                         if (IN1_type_symbol == NULL)
 19842                                         if (IN1_type_symbol == NULL)
 19828                                           IN1_type_symbol = last_type_symbol;
 19843                                           IN1_type_symbol = last_type_symbol;
 19829                                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19844                                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19830                                         
 19845                                         
 19831                                         if (IN2_type_symbol == NULL)
 19846                                         if (IN2_type_symbol == NULL)
 19832                                           IN2_type_symbol = last_type_symbol;
 19847                                           IN2_type_symbol = last_type_symbol;
 19833                                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19848                                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19834                                         
 19849                                         
 19835                                         if (L_type_symbol == NULL)
 19850                                         if (L_type_symbol == NULL)
 19836                                           L_type_symbol = last_type_symbol;
 19851                                           L_type_symbol = last_type_symbol;
 19837                                         ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19852                                         ADD_PARAM_LIST(&L_param_name, L_param_value, L_type_symbol, function_param_iterator_c::direction_in)
 19838                                         
 19853                                         
 19839                                         if (P_type_symbol == NULL)
 19854                                         if (P_type_symbol == NULL)
 19840                                           P_type_symbol = last_type_symbol;
 19855                                           P_type_symbol = last_type_symbol;
 19841                                         ADD_PARAM_LIST(P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19856                                         ADD_PARAM_LIST(&P_param_name, P_param_value, P_type_symbol, function_param_iterator_c::direction_in)
 19842                                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19857                                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 19843                                         break;
 19858                                         break;
 19844                                         
 19859                                         
 19845                                     }
 19860                                     }
 19846                                     
 19861                                     
 19875     case function_find :
 19890     case function_find :
 19876     {
 19891     {
 19877         symbol_c *last_type_symbol = NULL;
 19892         symbol_c *last_type_symbol = NULL;
 19878 
 19893 
 19879         {
 19894         {
 19880             identifier_c param_name("IN1");
 19895             identifier_c IN1_param_name("IN1");
 19881             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19896             /* Get the value from a foo(<param_name> = <param_value>) style call */
 19882             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 19897             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&IN1_param_name);
 19883             symbol_c *IN1_type_symbol = NULL;
 19898             symbol_c *IN1_type_symbol = NULL;
 19884             
 19899             
 19885             /* Get the value from a foo(<param_value>) style call */
 19900             /* Get the value from a foo(<param_value>) style call */
 19886             if (IN1_param_value == NULL)
 19901             if (IN1_param_value == NULL)
 19887               IN1_param_value = function_call_param_iterator.next_nf();
 19902               IN1_param_value = function_call_param_iterator.next_nf();
 19892             
 19907             
 19893             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19908             if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
 19894             {
 19909             {
 19895         
 19910         
 19896                 {
 19911                 {
 19897                     identifier_c param_name("IN2");
 19912                     identifier_c IN2_param_name("IN2");
 19898                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19913                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 19899                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 19914                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&IN2_param_name);
 19900                     symbol_c *IN2_type_symbol = NULL;
 19915                     symbol_c *IN2_type_symbol = NULL;
 19901                     
 19916                     
 19902                     /* Get the value from a foo(<param_value>) style call */
 19917                     /* Get the value from a foo(<param_value>) style call */
 19903                     if (IN2_param_value == NULL)
 19918                     if (IN2_param_value == NULL)
 19904                       IN2_param_value = function_call_param_iterator.next_nf();
 19919                       IN2_param_value = function_call_param_iterator.next_nf();
 19912                 
 19927                 
 19913                         function_name = (symbol_c*)(new pragma_c("__find"));
 19928                         function_name = (symbol_c*)(new pragma_c("__find"));
 19914                         
 19929                         
 19915                         if (IN1_type_symbol == NULL)
 19930                         if (IN1_type_symbol == NULL)
 19916                           IN1_type_symbol = last_type_symbol;
 19931                           IN1_type_symbol = last_type_symbol;
 19917                         ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19932                         ADD_PARAM_LIST(&IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in)
 19918                         
 19933                         
 19919                         if (IN2_type_symbol == NULL)
 19934                         if (IN2_type_symbol == NULL)
 19920                           IN2_type_symbol = last_type_symbol;
 19935                           IN2_type_symbol = last_type_symbol;
 19921                         ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19936                         ADD_PARAM_LIST(&IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in)
 19922                         symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19937                         symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
 19923                         break;
 19938                         break;
 19924                         
 19939                         
 19925                     }
 19940                     }
 19926                     
 19941