stage4/generate_c/il_code_gen.c
changeset 208 c72748a12ae3
parent 199 b075f28ec081
child 210 8387cac2aba6
equal deleted inserted replaced
207:56ee922d0112 208:c72748a12ae3
 12999         
 12999         
 13000                 
 13000                 
 13001                 if (IN_type_symbol == NULL)
 13001                 if (IN_type_symbol == NULL)
 13002                   IN_type_symbol = last_type_symbol;
 13002                   IN_type_symbol = last_type_symbol;
 13003                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13003                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13004                 symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
 13004                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 13005                 function_type_prefix = (symbol_c*)(new pragma_c("int"));
 13005                 function_type_prefix = (symbol_c*)(new pragma_c("int"));
 13006                 break;
 13006                 break;
 13007                 
 13007                 
 13008             }
 13008             }
 13009             
 13009             
 13174                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 13174                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 13175                 
 13175                 
 13176                 if (IN_type_symbol == NULL)
 13176                 if (IN_type_symbol == NULL)
 13177                   IN_type_symbol = last_type_symbol;
 13177                   IN_type_symbol = last_type_symbol;
 13178                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13178                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13179                 symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
 13179                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 13180                 function_type_prefix = return_type_symbol;
 13180                 function_type_prefix = return_type_symbol;
 13181                 break;
 13181                 break;
 13182                 
 13182                 
 13183             }
 13183             }
 13184             
 13184             
 13209                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 13209                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 13210                 
 13210                 
 13211                 if (IN_type_symbol == NULL)
 13211                 if (IN_type_symbol == NULL)
 13212                   IN_type_symbol = last_type_symbol;
 13212                   IN_type_symbol = last_type_symbol;
 13213                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13213                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13214                 symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
 13214                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 13215                 function_type_prefix = return_type_symbol;
 13215                 function_type_prefix = return_type_symbol;
 13216                 break;
 13216                 break;
 13217                 
 13217                 
 13218             }
 13218             }
 13219             
 13219             
 13244                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 13244                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 13245                 
 13245                 
 13246                 if (IN_type_symbol == NULL)
 13246                 if (IN_type_symbol == NULL)
 13247                   IN_type_symbol = last_type_symbol;
 13247                   IN_type_symbol = last_type_symbol;
 13248                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13248                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13249                 symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
 13249                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 13250                 function_type_prefix = return_type_symbol;
 13250                 function_type_prefix = return_type_symbol;
 13251                 break;
 13251                 break;
 13252                 
 13252                 
 13253             }
 13253             }
 13254             
 13254             
 13279                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 13279                 function_name = (symbol_c*)(new pragma_c("__uint_to_bcd"));
 13280                 
 13280                 
 13281                 if (IN_type_symbol == NULL)
 13281                 if (IN_type_symbol == NULL)
 13282                   IN_type_symbol = last_type_symbol;
 13282                   IN_type_symbol = last_type_symbol;
 13283                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13283                 ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in)
 13284                 symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
 13284                 symbol_c * return_type_symbol = &search_constant_type_c::integer;
 13285                 function_type_prefix = return_type_symbol;
 13285                 function_type_prefix = return_type_symbol;
 13286                 break;
 13286                 break;
 13287                 
 13287                 
 13288             }
 13288             }
 13289             
 13289             
 13765             {
 13765             {
 13766         
 13766         
 13767                 {
 13767                 {
 13768                     identifier_c param_name("IN2");
 13768                     identifier_c param_name("IN2");
 13769                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 13769                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 13770                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 13770                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 13771                     symbol_c *IN2_type_symbol = NULL;
 13771                     symbol_c *IN2_type_symbol = NULL;
 13772                     
 13772                     
 13773                     /* Get the value from a foo(<param_value>) style call */
 13773                     /* Get the value from a foo(<param_value>) style call */
 13774                     if (IN2_param_value == NULL)
 13774                     if (IN2_param_value == NULL)
 13775                       IN2_param_value = function_call_param_iterator.next();
 13775                       IN2_param_value = function_call_param_iterator.next_nf();
 13776                     if (IN2_param_value != NULL) {
 13776                     if (IN2_param_value != NULL) {
 13777                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 13777                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 13778                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 13778                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 13779                     }
 13779                     }
 13780                     
 13780                     
 13803                             char my_name[10];
 13803                             char my_name[10];
 13804                             sprintf(my_name, "IN%d", base_num++);
 13804                             sprintf(my_name, "IN%d", base_num++);
 13805                             identifier_c param_name(my_name);
 13805                             identifier_c param_name(my_name);
 13806                             
 13806                             
 13807                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13807                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 13808                             param_value = function_call_param_iterator.search(&param_name);
 13808                             param_value = function_call_param_iterator.search_f(&param_name);
 13809                             
 13809                             
 13810                             /* Get the value from a foo(<param_value>) style call */
 13810                             /* Get the value from a foo(<param_value>) style call */
 13811                             if (param_value == NULL)
 13811                             if (param_value == NULL)
 13812                               param_value = function_call_param_iterator.next();
 13812                               param_value = function_call_param_iterator.next_nf();
 13813                             if (param_value != NULL){
 13813                             if (param_value != NULL){
 13814                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 13814                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 13815                                 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 ;
 13815                                 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 ;
 13816                             
 13816                             
 13817                                 /*Function specific CODE */
 13817                                 /*Function specific CODE */
 13835             {
 13835             {
 13836         
 13836         
 13837                 {
 13837                 {
 13838                     identifier_c param_name("IN2");
 13838                     identifier_c param_name("IN2");
 13839                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 13839                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 13840                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 13840                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 13841                     symbol_c *IN2_type_symbol = NULL;
 13841                     symbol_c *IN2_type_symbol = NULL;
 13842                     
 13842                     
 13843                     /* Get the value from a foo(<param_value>) style call */
 13843                     /* Get the value from a foo(<param_value>) style call */
 13844                     if (IN2_param_value == NULL)
 13844                     if (IN2_param_value == NULL)
 13845                       IN2_param_value = function_call_param_iterator.next();
 13845                       IN2_param_value = function_call_param_iterator.next_nf();
 13846                     if (IN2_param_value != NULL) {
 13846                     if (IN2_param_value != NULL) {
 13847                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 13847                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 13848                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 13848                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 13849                     }
 13849                     }
 13850                     
 13850                     
 13875             {
 13875             {
 13876         
 13876         
 13877                 {
 13877                 {
 13878                     identifier_c param_name("IN2");
 13878                     identifier_c param_name("IN2");
 13879                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 13879                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 13880                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 13880                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 13881                     symbol_c *IN2_type_symbol = NULL;
 13881                     symbol_c *IN2_type_symbol = NULL;
 13882                     
 13882                     
 13883                     /* Get the value from a foo(<param_value>) style call */
 13883                     /* Get the value from a foo(<param_value>) style call */
 13884                     if (IN2_param_value == NULL)
 13884                     if (IN2_param_value == NULL)
 13885                       IN2_param_value = function_call_param_iterator.next();
 13885                       IN2_param_value = function_call_param_iterator.next_nf();
 13886                     if (IN2_param_value != NULL) {
 13886                     if (IN2_param_value != NULL) {
 13887                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 13887                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 13888                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 13888                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 13889                     }
 13889                     }
 13890                     
 13890                     
 13915             {
 13915             {
 13916         
 13916         
 13917                 {
 13917                 {
 13918                     identifier_c param_name("IN2");
 13918                     identifier_c param_name("IN2");
 13919                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 13919                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 13920                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 13920                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 13921                     symbol_c *IN2_type_symbol = NULL;
 13921                     symbol_c *IN2_type_symbol = NULL;
 13922                     
 13922                     
 13923                     /* Get the value from a foo(<param_value>) style call */
 13923                     /* Get the value from a foo(<param_value>) style call */
 13924                     if (IN2_param_value == NULL)
 13924                     if (IN2_param_value == NULL)
 13925                       IN2_param_value = function_call_param_iterator.next();
 13925                       IN2_param_value = function_call_param_iterator.next_nf();
 13926                     if (IN2_param_value != NULL) {
 13926                     if (IN2_param_value != NULL) {
 13927                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 13927                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 13928                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 13928                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 13929                     }
 13929                     }
 13930                     
 13930                     
 13976             {
 13976             {
 13977         
 13977         
 13978                 {
 13978                 {
 13979                     identifier_c param_name("IN2");
 13979                     identifier_c param_name("IN2");
 13980                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 13980                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 13981                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 13981                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 13982                     symbol_c *IN2_type_symbol = NULL;
 13982                     symbol_c *IN2_type_symbol = NULL;
 13983                     
 13983                     
 13984                     /* Get the value from a foo(<param_value>) style call */
 13984                     /* Get the value from a foo(<param_value>) style call */
 13985                     if (IN2_param_value == NULL)
 13985                     if (IN2_param_value == NULL)
 13986                       IN2_param_value = function_call_param_iterator.next();
 13986                       IN2_param_value = function_call_param_iterator.next_nf();
 13987                     if (IN2_param_value != NULL) {
 13987                     if (IN2_param_value != NULL) {
 13988                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 13988                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 13989                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 13989                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 13990                     }
 13990                     }
 13991                     
 13991                     
 14014                             char my_name[10];
 14014                             char my_name[10];
 14015                             sprintf(my_name, "IN%d", base_num++);
 14015                             sprintf(my_name, "IN%d", base_num++);
 14016                             identifier_c param_name(my_name);
 14016                             identifier_c param_name(my_name);
 14017                             
 14017                             
 14018                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14018                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14019                             param_value = function_call_param_iterator.search(&param_name);
 14019                             param_value = function_call_param_iterator.search_f(&param_name);
 14020                             
 14020                             
 14021                             /* Get the value from a foo(<param_value>) style call */
 14021                             /* Get the value from a foo(<param_value>) style call */
 14022                             if (param_value == NULL)
 14022                             if (param_value == NULL)
 14023                               param_value = function_call_param_iterator.next();
 14023                               param_value = function_call_param_iterator.next_nf();
 14024                             if (param_value != NULL){
 14024                             if (param_value != NULL){
 14025                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 14025                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 14026                                 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 ;
 14026                                 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 ;
 14027                             
 14027                             
 14028                                 /*Function specific CODE */
 14028                                 /*Function specific CODE */
 14046             {
 14046             {
 14047         
 14047         
 14048                 {
 14048                 {
 14049                     identifier_c param_name("IN2");
 14049                     identifier_c param_name("IN2");
 14050                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14050                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14051                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 14051                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 14052                     symbol_c *IN2_type_symbol = NULL;
 14052                     symbol_c *IN2_type_symbol = NULL;
 14053                     
 14053                     
 14054                     /* Get the value from a foo(<param_value>) style call */
 14054                     /* Get the value from a foo(<param_value>) style call */
 14055                     if (IN2_param_value == NULL)
 14055                     if (IN2_param_value == NULL)
 14056                       IN2_param_value = function_call_param_iterator.next();
 14056                       IN2_param_value = function_call_param_iterator.next_nf();
 14057                     if (IN2_param_value != NULL) {
 14057                     if (IN2_param_value != NULL) {
 14058                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14058                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14059                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14059                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14060                     }
 14060                     }
 14061                     
 14061                     
 14107             {
 14107             {
 14108         
 14108         
 14109                 {
 14109                 {
 14110                     identifier_c param_name("IN2");
 14110                     identifier_c param_name("IN2");
 14111                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14111                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14112                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 14112                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 14113                     symbol_c *IN2_type_symbol = NULL;
 14113                     symbol_c *IN2_type_symbol = NULL;
 14114                     
 14114                     
 14115                     /* Get the value from a foo(<param_value>) style call */
 14115                     /* Get the value from a foo(<param_value>) style call */
 14116                     if (IN2_param_value == NULL)
 14116                     if (IN2_param_value == NULL)
 14117                       IN2_param_value = function_call_param_iterator.next();
 14117                       IN2_param_value = function_call_param_iterator.next_nf();
 14118                     if (IN2_param_value != NULL) {
 14118                     if (IN2_param_value != NULL) {
 14119                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14119                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14120                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14120                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14121                     }
 14121                     }
 14122                     
 14122                     
 14148             {
 14148             {
 14149         
 14149         
 14150                 {
 14150                 {
 14151                     identifier_c param_name("IN2");
 14151                     identifier_c param_name("IN2");
 14152                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14152                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14153                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 14153                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 14154                     symbol_c *IN2_type_symbol = NULL;
 14154                     symbol_c *IN2_type_symbol = NULL;
 14155                     
 14155                     
 14156                     /* Get the value from a foo(<param_value>) style call */
 14156                     /* Get the value from a foo(<param_value>) style call */
 14157                     if (IN2_param_value == NULL)
 14157                     if (IN2_param_value == NULL)
 14158                       IN2_param_value = function_call_param_iterator.next();
 14158                       IN2_param_value = function_call_param_iterator.next_nf();
 14159                     if (IN2_param_value != NULL) {
 14159                     if (IN2_param_value != NULL) {
 14160                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14160                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14161                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14161                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14162                     }
 14162                     }
 14163                     
 14163                     
 14188             {
 14188             {
 14189         
 14189         
 14190                 {
 14190                 {
 14191                     identifier_c param_name("IN2");
 14191                     identifier_c param_name("IN2");
 14192                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14192                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14193                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 14193                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 14194                     symbol_c *IN2_type_symbol = NULL;
 14194                     symbol_c *IN2_type_symbol = NULL;
 14195                     
 14195                     
 14196                     /* Get the value from a foo(<param_value>) style call */
 14196                     /* Get the value from a foo(<param_value>) style call */
 14197                     if (IN2_param_value == NULL)
 14197                     if (IN2_param_value == NULL)
 14198                       IN2_param_value = function_call_param_iterator.next();
 14198                       IN2_param_value = function_call_param_iterator.next_nf();
 14199                     if (IN2_param_value != NULL) {
 14199                     if (IN2_param_value != NULL) {
 14200                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14200                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14201                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14201                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14202                     }
 14202                     }
 14203                     
 14203                     
 14245             {
 14245             {
 14246         
 14246         
 14247                 {
 14247                 {
 14248                     identifier_c param_name("IN2");
 14248                     identifier_c param_name("IN2");
 14249                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14249                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14250                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 14250                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 14251                     symbol_c *IN2_type_symbol = NULL;
 14251                     symbol_c *IN2_type_symbol = NULL;
 14252                     
 14252                     
 14253                     /* Get the value from a foo(<param_value>) style call */
 14253                     /* Get the value from a foo(<param_value>) style call */
 14254                     if (IN2_param_value == NULL)
 14254                     if (IN2_param_value == NULL)
 14255                       IN2_param_value = function_call_param_iterator.next();
 14255                       IN2_param_value = function_call_param_iterator.next_nf();
 14256                     if (IN2_param_value != NULL) {
 14256                     if (IN2_param_value != NULL) {
 14257                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14257                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14258                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14258                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14259                     }
 14259                     }
 14260                     
 14260                     
 14302             {
 14302             {
 14303         
 14303         
 14304                 {
 14304                 {
 14305                     identifier_c param_name("IN2");
 14305                     identifier_c param_name("IN2");
 14306                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14306                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14307                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 14307                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 14308                     symbol_c *IN2_type_symbol = NULL;
 14308                     symbol_c *IN2_type_symbol = NULL;
 14309                     
 14309                     
 14310                     /* Get the value from a foo(<param_value>) style call */
 14310                     /* Get the value from a foo(<param_value>) style call */
 14311                     if (IN2_param_value == NULL)
 14311                     if (IN2_param_value == NULL)
 14312                       IN2_param_value = function_call_param_iterator.next();
 14312                       IN2_param_value = function_call_param_iterator.next_nf();
 14313                     if (IN2_param_value != NULL) {
 14313                     if (IN2_param_value != NULL) {
 14314                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14314                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14315                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14315                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14316                     }
 14316                     }
 14317                     
 14317                     
 14363             {
 14363             {
 14364         
 14364         
 14365                 {
 14365                 {
 14366                     identifier_c param_name("IN2");
 14366                     identifier_c param_name("IN2");
 14367                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14367                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14368                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 14368                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 14369                     symbol_c *IN2_type_symbol = NULL;
 14369                     symbol_c *IN2_type_symbol = NULL;
 14370                     
 14370                     
 14371                     /* Get the value from a foo(<param_value>) style call */
 14371                     /* Get the value from a foo(<param_value>) style call */
 14372                     if (IN2_param_value == NULL)
 14372                     if (IN2_param_value == NULL)
 14373                       IN2_param_value = function_call_param_iterator.next();
 14373                       IN2_param_value = function_call_param_iterator.next_nf();
 14374                     if (IN2_param_value != NULL) {
 14374                     if (IN2_param_value != NULL) {
 14375                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14375                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14376                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14376                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14377                     }
 14377                     }
 14378                     
 14378                     
 14404             {
 14404             {
 14405         
 14405         
 14406                 {
 14406                 {
 14407                     identifier_c param_name("IN2");
 14407                     identifier_c param_name("IN2");
 14408                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14408                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14409                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 14409                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 14410                     symbol_c *IN2_type_symbol = NULL;
 14410                     symbol_c *IN2_type_symbol = NULL;
 14411                     
 14411                     
 14412                     /* Get the value from a foo(<param_value>) style call */
 14412                     /* Get the value from a foo(<param_value>) style call */
 14413                     if (IN2_param_value == NULL)
 14413                     if (IN2_param_value == NULL)
 14414                       IN2_param_value = function_call_param_iterator.next();
 14414                       IN2_param_value = function_call_param_iterator.next_nf();
 14415                     if (IN2_param_value != NULL) {
 14415                     if (IN2_param_value != NULL) {
 14416                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14416                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14417                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14417                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14418                     }
 14418                     }
 14419                     
 14419                     
 14465             {
 14465             {
 14466         
 14466         
 14467                 {
 14467                 {
 14468                     identifier_c param_name("IN2");
 14468                     identifier_c param_name("IN2");
 14469                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14469                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14470                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 14470                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 14471                     symbol_c *IN2_type_symbol = NULL;
 14471                     symbol_c *IN2_type_symbol = NULL;
 14472                     
 14472                     
 14473                     /* Get the value from a foo(<param_value>) style call */
 14473                     /* Get the value from a foo(<param_value>) style call */
 14474                     if (IN2_param_value == NULL)
 14474                     if (IN2_param_value == NULL)
 14475                       IN2_param_value = function_call_param_iterator.next();
 14475                       IN2_param_value = function_call_param_iterator.next_nf();
 14476                     if (IN2_param_value != NULL) {
 14476                     if (IN2_param_value != NULL) {
 14477                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14477                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14478                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14478                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14479                     }
 14479                     }
 14480                     
 14480                     
 14527             {
 14527             {
 14528         
 14528         
 14529                 {
 14529                 {
 14530                     identifier_c param_name("IN2");
 14530                     identifier_c param_name("IN2");
 14531                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14531                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14532                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 14532                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 14533                     symbol_c *IN2_type_symbol = NULL;
 14533                     symbol_c *IN2_type_symbol = NULL;
 14534                     
 14534                     
 14535                     /* Get the value from a foo(<param_value>) style call */
 14535                     /* Get the value from a foo(<param_value>) style call */
 14536                     if (IN2_param_value == NULL)
 14536                     if (IN2_param_value == NULL)
 14537                       IN2_param_value = function_call_param_iterator.next();
 14537                       IN2_param_value = function_call_param_iterator.next_nf();
 14538                     if (IN2_param_value != NULL) {
 14538                     if (IN2_param_value != NULL) {
 14539                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14539                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14540                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14540                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14541                     }
 14541                     }
 14542                     
 14542                     
 14624             {
 14624             {
 14625         
 14625         
 14626                 {
 14626                 {
 14627                     identifier_c param_name("N");
 14627                     identifier_c param_name("N");
 14628                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14628                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14629                     symbol_c *N_param_value = function_call_param_iterator.search(&param_name);
 14629                     symbol_c *N_param_value = function_call_param_iterator.search_f(&param_name);
 14630                     symbol_c *N_type_symbol = NULL;
 14630                     symbol_c *N_type_symbol = NULL;
 14631                     
 14631                     
 14632                     /* Get the value from a foo(<param_value>) style call */
 14632                     /* Get the value from a foo(<param_value>) style call */
 14633                     if (N_param_value == NULL)
 14633                     if (N_param_value == NULL)
 14634                       N_param_value = function_call_param_iterator.next();
 14634                       N_param_value = function_call_param_iterator.next_nf();
 14635                     if (N_param_value != NULL) {
 14635                     if (N_param_value != NULL) {
 14636                       N_type_symbol = search_expression_type->get_type(N_param_value);
 14636                       N_type_symbol = search_expression_type->get_type(N_param_value);
 14637                       last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
 14637                       last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
 14638                     }
 14638                     }
 14639                     
 14639                     
 14686             {
 14686             {
 14687         
 14687         
 14688                 {
 14688                 {
 14689                     identifier_c param_name("N");
 14689                     identifier_c param_name("N");
 14690                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14690                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14691                     symbol_c *N_param_value = function_call_param_iterator.search(&param_name);
 14691                     symbol_c *N_param_value = function_call_param_iterator.search_f(&param_name);
 14692                     symbol_c *N_type_symbol = NULL;
 14692                     symbol_c *N_type_symbol = NULL;
 14693                     
 14693                     
 14694                     /* Get the value from a foo(<param_value>) style call */
 14694                     /* Get the value from a foo(<param_value>) style call */
 14695                     if (N_param_value == NULL)
 14695                     if (N_param_value == NULL)
 14696                       N_param_value = function_call_param_iterator.next();
 14696                       N_param_value = function_call_param_iterator.next_nf();
 14697                     if (N_param_value != NULL) {
 14697                     if (N_param_value != NULL) {
 14698                       N_type_symbol = search_expression_type->get_type(N_param_value);
 14698                       N_type_symbol = search_expression_type->get_type(N_param_value);
 14699                       last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
 14699                       last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
 14700                     }
 14700                     }
 14701                     
 14701                     
 14748             {
 14748             {
 14749         
 14749         
 14750                 {
 14750                 {
 14751                     identifier_c param_name("N");
 14751                     identifier_c param_name("N");
 14752                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14752                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14753                     symbol_c *N_param_value = function_call_param_iterator.search(&param_name);
 14753                     symbol_c *N_param_value = function_call_param_iterator.search_f(&param_name);
 14754                     symbol_c *N_type_symbol = NULL;
 14754                     symbol_c *N_type_symbol = NULL;
 14755                     
 14755                     
 14756                     /* Get the value from a foo(<param_value>) style call */
 14756                     /* Get the value from a foo(<param_value>) style call */
 14757                     if (N_param_value == NULL)
 14757                     if (N_param_value == NULL)
 14758                       N_param_value = function_call_param_iterator.next();
 14758                       N_param_value = function_call_param_iterator.next_nf();
 14759                     if (N_param_value != NULL) {
 14759                     if (N_param_value != NULL) {
 14760                       N_type_symbol = search_expression_type->get_type(N_param_value);
 14760                       N_type_symbol = search_expression_type->get_type(N_param_value);
 14761                       last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
 14761                       last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
 14762                     }
 14762                     }
 14763                     
 14763                     
 14810             {
 14810             {
 14811         
 14811         
 14812                 {
 14812                 {
 14813                     identifier_c param_name("N");
 14813                     identifier_c param_name("N");
 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 *N_param_value = function_call_param_iterator.search(&param_name);
 14815                     symbol_c *N_param_value = function_call_param_iterator.search_f(&param_name);
 14816                     symbol_c *N_type_symbol = NULL;
 14816                     symbol_c *N_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 (N_param_value == NULL)
 14819                     if (N_param_value == NULL)
 14820                       N_param_value = function_call_param_iterator.next();
 14820                       N_param_value = function_call_param_iterator.next_nf();
 14821                     if (N_param_value != NULL) {
 14821                     if (N_param_value != NULL) {
 14822                       N_type_symbol = search_expression_type->get_type(N_param_value);
 14822                       N_type_symbol = search_expression_type->get_type(N_param_value);
 14823                       last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
 14823                       last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
 14824                     }
 14824                     }
 14825                     
 14825                     
 14872             {
 14872             {
 14873         
 14873         
 14874                 {
 14874                 {
 14875                     identifier_c param_name("IN2");
 14875                     identifier_c param_name("IN2");
 14876                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14876                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14877                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 14877                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 14878                     symbol_c *IN2_type_symbol = NULL;
 14878                     symbol_c *IN2_type_symbol = NULL;
 14879                     
 14879                     
 14880                     /* Get the value from a foo(<param_value>) style call */
 14880                     /* Get the value from a foo(<param_value>) style call */
 14881                     if (IN2_param_value == NULL)
 14881                     if (IN2_param_value == NULL)
 14882                       IN2_param_value = function_call_param_iterator.next();
 14882                       IN2_param_value = function_call_param_iterator.next_nf();
 14883                     if (IN2_param_value != NULL) {
 14883                     if (IN2_param_value != NULL) {
 14884                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14884                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14885                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14885                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14886                     }
 14886                     }
 14887                     
 14887                     
 14910                             char my_name[10];
 14910                             char my_name[10];
 14911                             sprintf(my_name, "IN%d", base_num++);
 14911                             sprintf(my_name, "IN%d", base_num++);
 14912                             identifier_c param_name(my_name);
 14912                             identifier_c param_name(my_name);
 14913                             
 14913                             
 14914                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14914                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 14915                             param_value = function_call_param_iterator.search(&param_name);
 14915                             param_value = function_call_param_iterator.search_f(&param_name);
 14916                             
 14916                             
 14917                             /* Get the value from a foo(<param_value>) style call */
 14917                             /* Get the value from a foo(<param_value>) style call */
 14918                             if (param_value == NULL)
 14918                             if (param_value == NULL)
 14919                               param_value = function_call_param_iterator.next();
 14919                               param_value = function_call_param_iterator.next_nf();
 14920                             if (param_value != NULL){
 14920                             if (param_value != NULL){
 14921                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 14921                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 14922                                 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 ;
 14922                                 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 ;
 14923                             
 14923                             
 14924                                 /*Function specific CODE */
 14924                                 /*Function specific CODE */
 14963             {
 14963             {
 14964         
 14964         
 14965                 {
 14965                 {
 14966                     identifier_c param_name("IN2");
 14966                     identifier_c param_name("IN2");
 14967                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14967                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 14968                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 14968                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 14969                     symbol_c *IN2_type_symbol = NULL;
 14969                     symbol_c *IN2_type_symbol = NULL;
 14970                     
 14970                     
 14971                     /* Get the value from a foo(<param_value>) style call */
 14971                     /* Get the value from a foo(<param_value>) style call */
 14972                     if (IN2_param_value == NULL)
 14972                     if (IN2_param_value == NULL)
 14973                       IN2_param_value = function_call_param_iterator.next();
 14973                       IN2_param_value = function_call_param_iterator.next_nf();
 14974                     if (IN2_param_value != NULL) {
 14974                     if (IN2_param_value != NULL) {
 14975                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14975                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 14976                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14976                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 14977                     }
 14977                     }
 14978                     
 14978                     
 15001                             char my_name[10];
 15001                             char my_name[10];
 15002                             sprintf(my_name, "IN%d", base_num++);
 15002                             sprintf(my_name, "IN%d", base_num++);
 15003                             identifier_c param_name(my_name);
 15003                             identifier_c param_name(my_name);
 15004                             
 15004                             
 15005                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15005                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15006                             param_value = function_call_param_iterator.search(&param_name);
 15006                             param_value = function_call_param_iterator.search_f(&param_name);
 15007                             
 15007                             
 15008                             /* Get the value from a foo(<param_value>) style call */
 15008                             /* Get the value from a foo(<param_value>) style call */
 15009                             if (param_value == NULL)
 15009                             if (param_value == NULL)
 15010                               param_value = function_call_param_iterator.next();
 15010                               param_value = function_call_param_iterator.next_nf();
 15011                             if (param_value != NULL){
 15011                             if (param_value != NULL){
 15012                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15012                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15013                                 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 ;
 15013                                 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 ;
 15014                             
 15014                             
 15015                                 /*Function specific CODE */
 15015                                 /*Function specific CODE */
 15054             {
 15054             {
 15055         
 15055         
 15056                 {
 15056                 {
 15057                     identifier_c param_name("IN2");
 15057                     identifier_c param_name("IN2");
 15058                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15058                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15059                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 15059                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 15060                     symbol_c *IN2_type_symbol = NULL;
 15060                     symbol_c *IN2_type_symbol = NULL;
 15061                     
 15061                     
 15062                     /* Get the value from a foo(<param_value>) style call */
 15062                     /* Get the value from a foo(<param_value>) style call */
 15063                     if (IN2_param_value == NULL)
 15063                     if (IN2_param_value == NULL)
 15064                       IN2_param_value = function_call_param_iterator.next();
 15064                       IN2_param_value = function_call_param_iterator.next_nf();
 15065                     if (IN2_param_value != NULL) {
 15065                     if (IN2_param_value != NULL) {
 15066                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15066                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15067                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15067                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15068                     }
 15068                     }
 15069                     
 15069                     
 15092                             char my_name[10];
 15092                             char my_name[10];
 15093                             sprintf(my_name, "IN%d", base_num++);
 15093                             sprintf(my_name, "IN%d", base_num++);
 15094                             identifier_c param_name(my_name);
 15094                             identifier_c param_name(my_name);
 15095                             
 15095                             
 15096                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15096                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15097                             param_value = function_call_param_iterator.search(&param_name);
 15097                             param_value = function_call_param_iterator.search_f(&param_name);
 15098                             
 15098                             
 15099                             /* Get the value from a foo(<param_value>) style call */
 15099                             /* Get the value from a foo(<param_value>) style call */
 15100                             if (param_value == NULL)
 15100                             if (param_value == NULL)
 15101                               param_value = function_call_param_iterator.next();
 15101                               param_value = function_call_param_iterator.next_nf();
 15102                             if (param_value != NULL){
 15102                             if (param_value != NULL){
 15103                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15103                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15104                                 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 ;
 15104                                 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 ;
 15105                             
 15105                             
 15106                                 /*Function specific CODE */
 15106                                 /*Function specific CODE */
 15180             {
 15180             {
 15181         
 15181         
 15182                 {
 15182                 {
 15183                     identifier_c param_name("IN0");
 15183                     identifier_c param_name("IN0");
 15184                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15184                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15185                     symbol_c *IN0_param_value = function_call_param_iterator.search(&param_name);
 15185                     symbol_c *IN0_param_value = function_call_param_iterator.search_f(&param_name);
 15186                     symbol_c *IN0_type_symbol = NULL;
 15186                     symbol_c *IN0_type_symbol = NULL;
 15187                     
 15187                     
 15188                     /* Get the value from a foo(<param_value>) style call */
 15188                     /* Get the value from a foo(<param_value>) style call */
 15189                     if (IN0_param_value == NULL)
 15189                     if (IN0_param_value == NULL)
 15190                       IN0_param_value = function_call_param_iterator.next();
 15190                       IN0_param_value = function_call_param_iterator.next_nf();
 15191                     if (IN0_param_value != NULL) {
 15191                     if (IN0_param_value != NULL) {
 15192                       IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
 15192                       IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
 15193                       last_type_symbol = last_type_symbol && IN0_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
 15193                       last_type_symbol = last_type_symbol && IN0_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
 15194                     }
 15194                     }
 15195                     
 15195                     
 15197                     {
 15197                     {
 15198                 
 15198                 
 15199                         {
 15199                         {
 15200                             identifier_c param_name("IN1");
 15200                             identifier_c param_name("IN1");
 15201                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15201                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15202                             symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
 15202                             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 15203                             symbol_c *IN1_type_symbol = NULL;
 15203                             symbol_c *IN1_type_symbol = NULL;
 15204                             
 15204                             
 15205                             /* Get the value from a foo(<param_value>) style call */
 15205                             /* Get the value from a foo(<param_value>) style call */
 15206                             if (IN1_param_value == NULL)
 15206                             if (IN1_param_value == NULL)
 15207                               IN1_param_value = function_call_param_iterator.next();
 15207                               IN1_param_value = function_call_param_iterator.next_nf();
 15208                             if (IN1_param_value != NULL) {
 15208                             if (IN1_param_value != NULL) {
 15209                               IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
 15209                               IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
 15210                               last_type_symbol = last_type_symbol && IN1_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
 15210                               last_type_symbol = last_type_symbol && IN1_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
 15211                             }
 15211                             }
 15212                             
 15212                             
 15269             {
 15269             {
 15270         
 15270         
 15271                 {
 15271                 {
 15272                     identifier_c param_name("IN2");
 15272                     identifier_c param_name("IN2");
 15273                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15273                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15274                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 15274                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 15275                     symbol_c *IN2_type_symbol = NULL;
 15275                     symbol_c *IN2_type_symbol = NULL;
 15276                     
 15276                     
 15277                     /* Get the value from a foo(<param_value>) style call */
 15277                     /* Get the value from a foo(<param_value>) style call */
 15278                     if (IN2_param_value == NULL)
 15278                     if (IN2_param_value == NULL)
 15279                       IN2_param_value = function_call_param_iterator.next();
 15279                       IN2_param_value = function_call_param_iterator.next_nf();
 15280                     if (IN2_param_value != NULL) {
 15280                     if (IN2_param_value != NULL) {
 15281                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15281                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15282                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15282                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15283                     }
 15283                     }
 15284                     
 15284                     
 15307                             char my_name[10];
 15307                             char my_name[10];
 15308                             sprintf(my_name, "IN%d", base_num++);
 15308                             sprintf(my_name, "IN%d", base_num++);
 15309                             identifier_c param_name(my_name);
 15309                             identifier_c param_name(my_name);
 15310                             
 15310                             
 15311                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15311                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15312                             param_value = function_call_param_iterator.search(&param_name);
 15312                             param_value = function_call_param_iterator.search_f(&param_name);
 15313                             
 15313                             
 15314                             /* Get the value from a foo(<param_value>) style call */
 15314                             /* Get the value from a foo(<param_value>) style call */
 15315                             if (param_value == NULL)
 15315                             if (param_value == NULL)
 15316                               param_value = function_call_param_iterator.next();
 15316                               param_value = function_call_param_iterator.next_nf();
 15317                             if (param_value != NULL){
 15317                             if (param_value != NULL){
 15318                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15318                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15319                                 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 ;
 15319                                 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 ;
 15320                             
 15320                             
 15321                                 /*Function specific CODE */
 15321                                 /*Function specific CODE */
 15360             {
 15360             {
 15361         
 15361         
 15362                 {
 15362                 {
 15363                     identifier_c param_name("IN2");
 15363                     identifier_c param_name("IN2");
 15364                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15364                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15365                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 15365                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 15366                     symbol_c *IN2_type_symbol = NULL;
 15366                     symbol_c *IN2_type_symbol = NULL;
 15367                     
 15367                     
 15368                     /* Get the value from a foo(<param_value>) style call */
 15368                     /* Get the value from a foo(<param_value>) style call */
 15369                     if (IN2_param_value == NULL)
 15369                     if (IN2_param_value == NULL)
 15370                       IN2_param_value = function_call_param_iterator.next();
 15370                       IN2_param_value = function_call_param_iterator.next_nf();
 15371                     if (IN2_param_value != NULL) {
 15371                     if (IN2_param_value != NULL) {
 15372                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15372                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15373                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15373                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15374                     }
 15374                     }
 15375                     
 15375                     
 15398                             char my_name[10];
 15398                             char my_name[10];
 15399                             sprintf(my_name, "IN%d", base_num++);
 15399                             sprintf(my_name, "IN%d", base_num++);
 15400                             identifier_c param_name(my_name);
 15400                             identifier_c param_name(my_name);
 15401                             
 15401                             
 15402                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15402                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15403                             param_value = function_call_param_iterator.search(&param_name);
 15403                             param_value = function_call_param_iterator.search_f(&param_name);
 15404                             
 15404                             
 15405                             /* Get the value from a foo(<param_value>) style call */
 15405                             /* Get the value from a foo(<param_value>) style call */
 15406                             if (param_value == NULL)
 15406                             if (param_value == NULL)
 15407                               param_value = function_call_param_iterator.next();
 15407                               param_value = function_call_param_iterator.next_nf();
 15408                             if (param_value != NULL){
 15408                             if (param_value != NULL){
 15409                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15409                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15410                                 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 ;
 15410                                 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 ;
 15411                             
 15411                             
 15412                                 /*Function specific CODE */
 15412                                 /*Function specific CODE */
 15451             {
 15451             {
 15452         
 15452         
 15453                 {
 15453                 {
 15454                     identifier_c param_name("IN");
 15454                     identifier_c 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(&param_name);
 15456                     symbol_c *IN_param_value = function_call_param_iterator.search_f(&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();
 15461                       IN_param_value = function_call_param_iterator.next_nf();
 15462                     if (IN_param_value != NULL) {
 15462                     if (IN_param_value != NULL) {
 15463                       IN_type_symbol = search_expression_type->get_type(IN_param_value);
 15463                       IN_type_symbol = search_expression_type->get_type(IN_param_value);
 15464                       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 ;
 15464                       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 ;
 15465                     }
 15465                     }
 15466                     
 15466                     
 15468                     {
 15468                     {
 15469                 
 15469                 
 15470                         {
 15470                         {
 15471                             identifier_c param_name("MX");
 15471                             identifier_c param_name("MX");
 15472                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15472                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15473                             symbol_c *MX_param_value = function_call_param_iterator.search(&param_name);
 15473                             symbol_c *MX_param_value = function_call_param_iterator.search_f(&param_name);
 15474                             symbol_c *MX_type_symbol = NULL;
 15474                             symbol_c *MX_type_symbol = NULL;
 15475                             
 15475                             
 15476                             /* Get the value from a foo(<param_value>) style call */
 15476                             /* Get the value from a foo(<param_value>) style call */
 15477                             if (MX_param_value == NULL)
 15477                             if (MX_param_value == NULL)
 15478                               MX_param_value = function_call_param_iterator.next();
 15478                               MX_param_value = function_call_param_iterator.next_nf();
 15479                             if (MX_param_value != NULL) {
 15479                             if (MX_param_value != NULL) {
 15480                               MX_type_symbol = search_expression_type->get_type(MX_param_value);
 15480                               MX_type_symbol = search_expression_type->get_type(MX_param_value);
 15481                               last_type_symbol = last_type_symbol && MX_type_symbol && search_expression_type->is_same_type(MX_type_symbol, last_type_symbol) ? search_expression_type->common_type(MX_type_symbol, last_type_symbol) : MX_type_symbol ;
 15481                               last_type_symbol = last_type_symbol && MX_type_symbol && search_expression_type->is_same_type(MX_type_symbol, last_type_symbol) ? search_expression_type->common_type(MX_type_symbol, last_type_symbol) : MX_type_symbol ;
 15482                             }
 15482                             }
 15483                             
 15483                             
 15540             {
 15540             {
 15541         
 15541         
 15542                 {
 15542                 {
 15543                     identifier_c param_name("IN0");
 15543                     identifier_c param_name("IN0");
 15544                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15544                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15545                     symbol_c *IN0_param_value = function_call_param_iterator.search(&param_name);
 15545                     symbol_c *IN0_param_value = function_call_param_iterator.search_f(&param_name);
 15546                     symbol_c *IN0_type_symbol = NULL;
 15546                     symbol_c *IN0_type_symbol = NULL;
 15547                     
 15547                     
 15548                     /* Get the value from a foo(<param_value>) style call */
 15548                     /* Get the value from a foo(<param_value>) style call */
 15549                     if (IN0_param_value == NULL)
 15549                     if (IN0_param_value == NULL)
 15550                       IN0_param_value = function_call_param_iterator.next();
 15550                       IN0_param_value = function_call_param_iterator.next_nf();
 15551                     if (IN0_param_value != NULL) {
 15551                     if (IN0_param_value != NULL) {
 15552                       IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
 15552                       IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
 15553                       last_type_symbol = last_type_symbol && IN0_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
 15553                       last_type_symbol = last_type_symbol && IN0_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
 15554                     }
 15554                     }
 15555                     
 15555                     
 15557                     {
 15557                     {
 15558                 
 15558                 
 15559                         {
 15559                         {
 15560                             identifier_c param_name("IN1");
 15560                             identifier_c param_name("IN1");
 15561                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15561                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15562                             symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
 15562                             symbol_c *IN1_param_value = function_call_param_iterator.search_f(&param_name);
 15563                             symbol_c *IN1_type_symbol = NULL;
 15563                             symbol_c *IN1_type_symbol = NULL;
 15564                             
 15564                             
 15565                             /* Get the value from a foo(<param_value>) style call */
 15565                             /* Get the value from a foo(<param_value>) style call */
 15566                             if (IN1_param_value == NULL)
 15566                             if (IN1_param_value == NULL)
 15567                               IN1_param_value = function_call_param_iterator.next();
 15567                               IN1_param_value = function_call_param_iterator.next_nf();
 15568                             if (IN1_param_value != NULL) {
 15568                             if (IN1_param_value != NULL) {
 15569                               IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
 15569                               IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
 15570                               last_type_symbol = last_type_symbol && IN1_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
 15570                               last_type_symbol = last_type_symbol && IN1_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
 15571                             }
 15571                             }
 15572                             
 15572                             
 15599                                     char my_name[10];
 15599                                     char my_name[10];
 15600                                     sprintf(my_name, "IN%d", base_num++);
 15600                                     sprintf(my_name, "IN%d", base_num++);
 15601                                     identifier_c param_name(my_name);
 15601                                     identifier_c param_name(my_name);
 15602                                     
 15602                                     
 15603                                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15603                                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15604                                     param_value = function_call_param_iterator.search(&param_name);
 15604                                     param_value = function_call_param_iterator.search_f(&param_name);
 15605                                     
 15605                                     
 15606                                     /* Get the value from a foo(<param_value>) style call */
 15606                                     /* Get the value from a foo(<param_value>) style call */
 15607                                     if (param_value == NULL)
 15607                                     if (param_value == NULL)
 15608                                       param_value = function_call_param_iterator.next();
 15608                                       param_value = function_call_param_iterator.next_nf();
 15609                                     if (param_value != NULL){
 15609                                     if (param_value != NULL){
 15610                                         symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15610                                         symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15611                                         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 ;
 15611                                         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 ;
 15612                                     
 15612                                     
 15613                                         /*Function specific CODE */
 15613                                         /*Function specific CODE */
 15658             {
 15658             {
 15659         
 15659         
 15660                 {
 15660                 {
 15661                     identifier_c param_name("IN2");
 15661                     identifier_c param_name("IN2");
 15662                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15662                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15663                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 15663                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 15664                     symbol_c *IN2_type_symbol = NULL;
 15664                     symbol_c *IN2_type_symbol = NULL;
 15665                     
 15665                     
 15666                     /* Get the value from a foo(<param_value>) style call */
 15666                     /* Get the value from a foo(<param_value>) style call */
 15667                     if (IN2_param_value == NULL)
 15667                     if (IN2_param_value == NULL)
 15668                       IN2_param_value = function_call_param_iterator.next();
 15668                       IN2_param_value = function_call_param_iterator.next_nf();
 15669                     if (IN2_param_value != NULL) {
 15669                     if (IN2_param_value != NULL) {
 15670                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15670                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15671                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15671                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15672                     }
 15672                     }
 15673                     
 15673                     
 15696                             char my_name[10];
 15696                             char my_name[10];
 15697                             sprintf(my_name, "IN%d", base_num++);
 15697                             sprintf(my_name, "IN%d", base_num++);
 15698                             identifier_c param_name(my_name);
 15698                             identifier_c param_name(my_name);
 15699                             
 15699                             
 15700                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15700                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15701                             param_value = function_call_param_iterator.search(&param_name);
 15701                             param_value = function_call_param_iterator.search_f(&param_name);
 15702                             
 15702                             
 15703                             /* Get the value from a foo(<param_value>) style call */
 15703                             /* Get the value from a foo(<param_value>) style call */
 15704                             if (param_value == NULL)
 15704                             if (param_value == NULL)
 15705                               param_value = function_call_param_iterator.next();
 15705                               param_value = function_call_param_iterator.next_nf();
 15706                             if (param_value != NULL){
 15706                             if (param_value != NULL){
 15707                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15707                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15708                                 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 ;
 15708                                 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 ;
 15709                             
 15709                             
 15710                                 /*Function specific CODE */
 15710                                 /*Function specific CODE */
 15749             {
 15749             {
 15750         
 15750         
 15751                 {
 15751                 {
 15752                     identifier_c param_name("IN2");
 15752                     identifier_c param_name("IN2");
 15753                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15753                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15754                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 15754                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 15755                     symbol_c *IN2_type_symbol = NULL;
 15755                     symbol_c *IN2_type_symbol = NULL;
 15756                     
 15756                     
 15757                     /* Get the value from a foo(<param_value>) style call */
 15757                     /* Get the value from a foo(<param_value>) style call */
 15758                     if (IN2_param_value == NULL)
 15758                     if (IN2_param_value == NULL)
 15759                       IN2_param_value = function_call_param_iterator.next();
 15759                       IN2_param_value = function_call_param_iterator.next_nf();
 15760                     if (IN2_param_value != NULL) {
 15760                     if (IN2_param_value != NULL) {
 15761                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15761                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15762                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15762                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15763                     }
 15763                     }
 15764                     
 15764                     
 15787                             char my_name[10];
 15787                             char my_name[10];
 15788                             sprintf(my_name, "IN%d", base_num++);
 15788                             sprintf(my_name, "IN%d", base_num++);
 15789                             identifier_c param_name(my_name);
 15789                             identifier_c param_name(my_name);
 15790                             
 15790                             
 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                             param_value = function_call_param_iterator.search(&param_name);
 15792                             param_value = function_call_param_iterator.search_f(&param_name);
 15793                             
 15793                             
 15794                             /* Get the value from a foo(<param_value>) style call */
 15794                             /* Get the value from a foo(<param_value>) style call */
 15795                             if (param_value == NULL)
 15795                             if (param_value == NULL)
 15796                               param_value = function_call_param_iterator.next();
 15796                               param_value = function_call_param_iterator.next_nf();
 15797                             if (param_value != NULL){
 15797                             if (param_value != NULL){
 15798                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15798                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15799                                 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 ;
 15799                                 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 ;
 15800                             
 15800                             
 15801                                 /*Function specific CODE */
 15801                                 /*Function specific CODE */
 15840             {
 15840             {
 15841         
 15841         
 15842                 {
 15842                 {
 15843                     identifier_c param_name("IN2");
 15843                     identifier_c param_name("IN2");
 15844                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15844                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15845                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 15845                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 15846                     symbol_c *IN2_type_symbol = NULL;
 15846                     symbol_c *IN2_type_symbol = NULL;
 15847                     
 15847                     
 15848                     /* Get the value from a foo(<param_value>) style call */
 15848                     /* Get the value from a foo(<param_value>) style call */
 15849                     if (IN2_param_value == NULL)
 15849                     if (IN2_param_value == NULL)
 15850                       IN2_param_value = function_call_param_iterator.next();
 15850                       IN2_param_value = function_call_param_iterator.next_nf();
 15851                     if (IN2_param_value != NULL) {
 15851                     if (IN2_param_value != NULL) {
 15852                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15852                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15853                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15853                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15854                     }
 15854                     }
 15855                     
 15855                     
 15878                             char my_name[10];
 15878                             char my_name[10];
 15879                             sprintf(my_name, "IN%d", base_num++);
 15879                             sprintf(my_name, "IN%d", base_num++);
 15880                             identifier_c param_name(my_name);
 15880                             identifier_c param_name(my_name);
 15881                             
 15881                             
 15882                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15882                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15883                             param_value = function_call_param_iterator.search(&param_name);
 15883                             param_value = function_call_param_iterator.search_f(&param_name);
 15884                             
 15884                             
 15885                             /* Get the value from a foo(<param_value>) style call */
 15885                             /* Get the value from a foo(<param_value>) style call */
 15886                             if (param_value == NULL)
 15886                             if (param_value == NULL)
 15887                               param_value = function_call_param_iterator.next();
 15887                               param_value = function_call_param_iterator.next_nf();
 15888                             if (param_value != NULL){
 15888                             if (param_value != NULL){
 15889                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15889                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15890                                 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 ;
 15890                                 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 ;
 15891                             
 15891                             
 15892                                 /*Function specific CODE */
 15892                                 /*Function specific CODE */
 15931             {
 15931             {
 15932         
 15932         
 15933                 {
 15933                 {
 15934                     identifier_c param_name("IN2");
 15934                     identifier_c param_name("IN2");
 15935                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15935                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 15936                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 15936                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 15937                     symbol_c *IN2_type_symbol = NULL;
 15937                     symbol_c *IN2_type_symbol = NULL;
 15938                     
 15938                     
 15939                     /* Get the value from a foo(<param_value>) style call */
 15939                     /* Get the value from a foo(<param_value>) style call */
 15940                     if (IN2_param_value == NULL)
 15940                     if (IN2_param_value == NULL)
 15941                       IN2_param_value = function_call_param_iterator.next();
 15941                       IN2_param_value = function_call_param_iterator.next_nf();
 15942                     if (IN2_param_value != NULL) {
 15942                     if (IN2_param_value != NULL) {
 15943                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15943                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 15944                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15944                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 15945                     }
 15945                     }
 15946                     
 15946                     
 15969                             char my_name[10];
 15969                             char my_name[10];
 15970                             sprintf(my_name, "IN%d", base_num++);
 15970                             sprintf(my_name, "IN%d", base_num++);
 15971                             identifier_c param_name(my_name);
 15971                             identifier_c param_name(my_name);
 15972                             
 15972                             
 15973                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15973                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 15974                             param_value = function_call_param_iterator.search(&param_name);
 15974                             param_value = function_call_param_iterator.search_f(&param_name);
 15975                             
 15975                             
 15976                             /* Get the value from a foo(<param_value>) style call */
 15976                             /* Get the value from a foo(<param_value>) style call */
 15977                             if (param_value == NULL)
 15977                             if (param_value == NULL)
 15978                               param_value = function_call_param_iterator.next();
 15978                               param_value = function_call_param_iterator.next_nf();
 15979                             if (param_value != NULL){
 15979                             if (param_value != NULL){
 15980                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15980                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15981                                 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 ;
 15981                                 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 ;
 15982                             
 15982                             
 15983                                 /*Function specific CODE */
 15983                                 /*Function specific CODE */
 16022             {
 16022             {
 16023         
 16023         
 16024                 {
 16024                 {
 16025                     identifier_c param_name("IN2");
 16025                     identifier_c param_name("IN2");
 16026                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16026                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16027                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 16027                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16028                     symbol_c *IN2_type_symbol = NULL;
 16028                     symbol_c *IN2_type_symbol = NULL;
 16029                     
 16029                     
 16030                     /* Get the value from a foo(<param_value>) style call */
 16030                     /* Get the value from a foo(<param_value>) style call */
 16031                     if (IN2_param_value == NULL)
 16031                     if (IN2_param_value == NULL)
 16032                       IN2_param_value = function_call_param_iterator.next();
 16032                       IN2_param_value = function_call_param_iterator.next_nf();
 16033                     if (IN2_param_value != NULL) {
 16033                     if (IN2_param_value != NULL) {
 16034                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16034                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16035                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16035                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16036                     }
 16036                     }
 16037                     
 16037                     
 16060                             char my_name[10];
 16060                             char my_name[10];
 16061                             sprintf(my_name, "IN%d", base_num++);
 16061                             sprintf(my_name, "IN%d", base_num++);
 16062                             identifier_c param_name(my_name);
 16062                             identifier_c param_name(my_name);
 16063                             
 16063                             
 16064                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16064                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16065                             param_value = function_call_param_iterator.search(&param_name);
 16065                             param_value = function_call_param_iterator.search_f(&param_name);
 16066                             
 16066                             
 16067                             /* Get the value from a foo(<param_value>) style call */
 16067                             /* Get the value from a foo(<param_value>) style call */
 16068                             if (param_value == NULL)
 16068                             if (param_value == NULL)
 16069                               param_value = function_call_param_iterator.next();
 16069                               param_value = function_call_param_iterator.next_nf();
 16070                             if (param_value != NULL){
 16070                             if (param_value != NULL){
 16071                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16071                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16072                                 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 ;
 16072                                 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 ;
 16073                             
 16073                             
 16074                                 /*Function specific CODE */
 16074                                 /*Function specific CODE */
 16113             {
 16113             {
 16114         
 16114         
 16115                 {
 16115                 {
 16116                     identifier_c param_name("IN2");
 16116                     identifier_c param_name("IN2");
 16117                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16117                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16118                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 16118                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16119                     symbol_c *IN2_type_symbol = NULL;
 16119                     symbol_c *IN2_type_symbol = NULL;
 16120                     
 16120                     
 16121                     /* Get the value from a foo(<param_value>) style call */
 16121                     /* Get the value from a foo(<param_value>) style call */
 16122                     if (IN2_param_value == NULL)
 16122                     if (IN2_param_value == NULL)
 16123                       IN2_param_value = function_call_param_iterator.next();
 16123                       IN2_param_value = function_call_param_iterator.next_nf();
 16124                     if (IN2_param_value != NULL) {
 16124                     if (IN2_param_value != NULL) {
 16125                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16125                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16126                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16126                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16127                     }
 16127                     }
 16128                     
 16128                     
 16151                             char my_name[10];
 16151                             char my_name[10];
 16152                             sprintf(my_name, "IN%d", base_num++);
 16152                             sprintf(my_name, "IN%d", base_num++);
 16153                             identifier_c param_name(my_name);
 16153                             identifier_c param_name(my_name);
 16154                             
 16154                             
 16155                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16155                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16156                             param_value = function_call_param_iterator.search(&param_name);
 16156                             param_value = function_call_param_iterator.search_f(&param_name);
 16157                             
 16157                             
 16158                             /* Get the value from a foo(<param_value>) style call */
 16158                             /* Get the value from a foo(<param_value>) style call */
 16159                             if (param_value == NULL)
 16159                             if (param_value == NULL)
 16160                               param_value = function_call_param_iterator.next();
 16160                               param_value = function_call_param_iterator.next_nf();
 16161                             if (param_value != NULL){
 16161                             if (param_value != NULL){
 16162                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16162                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16163                                 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 ;
 16163                                 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 ;
 16164                             
 16164                             
 16165                                 /*Function specific CODE */
 16165                                 /*Function specific CODE */
 16238             {
 16238             {
 16239         
 16239         
 16240                 {
 16240                 {
 16241                     identifier_c param_name("L");
 16241                     identifier_c param_name("L");
 16242                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16242                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16243                     symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
 16243                     symbol_c *L_param_value = function_call_param_iterator.search_f(&param_name);
 16244                     symbol_c *L_type_symbol = NULL;
 16244                     symbol_c *L_type_symbol = NULL;
 16245                     
 16245                     
 16246                     /* Get the value from a foo(<param_value>) style call */
 16246                     /* Get the value from a foo(<param_value>) style call */
 16247                     if (L_param_value == NULL)
 16247                     if (L_param_value == NULL)
 16248                       L_param_value = function_call_param_iterator.next();
 16248                       L_param_value = function_call_param_iterator.next_nf();
 16249                     if (L_param_value != NULL) {
 16249                     if (L_param_value != NULL) {
 16250                       L_type_symbol = search_expression_type->get_type(L_param_value);
 16250                       L_type_symbol = search_expression_type->get_type(L_param_value);
 16251                       last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
 16251                       last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
 16252                     }
 16252                     }
 16253                     
 16253                     
 16299             {
 16299             {
 16300         
 16300         
 16301                 {
 16301                 {
 16302                     identifier_c param_name("L");
 16302                     identifier_c param_name("L");
 16303                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16303                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16304                     symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
 16304                     symbol_c *L_param_value = function_call_param_iterator.search_f(&param_name);
 16305                     symbol_c *L_type_symbol = NULL;
 16305                     symbol_c *L_type_symbol = NULL;
 16306                     
 16306                     
 16307                     /* Get the value from a foo(<param_value>) style call */
 16307                     /* Get the value from a foo(<param_value>) style call */
 16308                     if (L_param_value == NULL)
 16308                     if (L_param_value == NULL)
 16309                       L_param_value = function_call_param_iterator.next();
 16309                       L_param_value = function_call_param_iterator.next_nf();
 16310                     if (L_param_value != NULL) {
 16310                     if (L_param_value != NULL) {
 16311                       L_type_symbol = search_expression_type->get_type(L_param_value);
 16311                       L_type_symbol = search_expression_type->get_type(L_param_value);
 16312                       last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
 16312                       last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
 16313                     }
 16313                     }
 16314                     
 16314                     
 16360             {
 16360             {
 16361         
 16361         
 16362                 {
 16362                 {
 16363                     identifier_c param_name("L");
 16363                     identifier_c param_name("L");
 16364                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16364                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16365                     symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
 16365                     symbol_c *L_param_value = function_call_param_iterator.search_f(&param_name);
 16366                     symbol_c *L_type_symbol = NULL;
 16366                     symbol_c *L_type_symbol = NULL;
 16367                     
 16367                     
 16368                     /* Get the value from a foo(<param_value>) style call */
 16368                     /* Get the value from a foo(<param_value>) style call */
 16369                     if (L_param_value == NULL)
 16369                     if (L_param_value == NULL)
 16370                       L_param_value = function_call_param_iterator.next();
 16370                       L_param_value = function_call_param_iterator.next_nf();
 16371                     if (L_param_value != NULL) {
 16371                     if (L_param_value != NULL) {
 16372                       L_type_symbol = search_expression_type->get_type(L_param_value);
 16372                       L_type_symbol = search_expression_type->get_type(L_param_value);
 16373                       last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
 16373                       last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
 16374                     }
 16374                     }
 16375                     
 16375                     
 16377                     {
 16377                     {
 16378                 
 16378                 
 16379                         {
 16379                         {
 16380                             identifier_c param_name("P");
 16380                             identifier_c param_name("P");
 16381                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16381                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16382                             symbol_c *P_param_value = function_call_param_iterator.search(&param_name);
 16382                             symbol_c *P_param_value = function_call_param_iterator.search_f(&param_name);
 16383                             symbol_c *P_type_symbol = NULL;
 16383                             symbol_c *P_type_symbol = NULL;
 16384                             
 16384                             
 16385                             /* Get the value from a foo(<param_value>) style call */
 16385                             /* Get the value from a foo(<param_value>) style call */
 16386                             if (P_param_value == NULL)
 16386                             if (P_param_value == NULL)
 16387                               P_param_value = function_call_param_iterator.next();
 16387                               P_param_value = function_call_param_iterator.next_nf();
 16388                             if (P_param_value != NULL) {
 16388                             if (P_param_value != NULL) {
 16389                               P_type_symbol = search_expression_type->get_type(P_param_value);
 16389                               P_type_symbol = search_expression_type->get_type(P_param_value);
 16390                               last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
 16390                               last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
 16391                             }
 16391                             }
 16392                             
 16392                             
 16448             {
 16448             {
 16449         
 16449         
 16450                 {
 16450                 {
 16451                     identifier_c param_name("IN2");
 16451                     identifier_c param_name("IN2");
 16452                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16452                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16453                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 16453                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16454                     symbol_c *IN2_type_symbol = NULL;
 16454                     symbol_c *IN2_type_symbol = NULL;
 16455                     
 16455                     
 16456                     /* Get the value from a foo(<param_value>) style call */
 16456                     /* Get the value from a foo(<param_value>) style call */
 16457                     if (IN2_param_value == NULL)
 16457                     if (IN2_param_value == NULL)
 16458                       IN2_param_value = function_call_param_iterator.next();
 16458                       IN2_param_value = function_call_param_iterator.next_nf();
 16459                     if (IN2_param_value != NULL) {
 16459                     if (IN2_param_value != NULL) {
 16460                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16460                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16461                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16461                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16462                     }
 16462                     }
 16463                     
 16463                     
 16488             {
 16488             {
 16489         
 16489         
 16490                 {
 16490                 {
 16491                     identifier_c param_name("IN2");
 16491                     identifier_c param_name("IN2");
 16492                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16492                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16493                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 16493                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16494                     symbol_c *IN2_type_symbol = NULL;
 16494                     symbol_c *IN2_type_symbol = NULL;
 16495                     
 16495                     
 16496                     /* Get the value from a foo(<param_value>) style call */
 16496                     /* Get the value from a foo(<param_value>) style call */
 16497                     if (IN2_param_value == NULL)
 16497                     if (IN2_param_value == NULL)
 16498                       IN2_param_value = function_call_param_iterator.next();
 16498                       IN2_param_value = function_call_param_iterator.next_nf();
 16499                     if (IN2_param_value != NULL) {
 16499                     if (IN2_param_value != NULL) {
 16500                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16500                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16501                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16501                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16502                     }
 16502                     }
 16503                     
 16503                     
 16526                             char my_name[10];
 16526                             char my_name[10];
 16527                             sprintf(my_name, "IN%d", base_num++);
 16527                             sprintf(my_name, "IN%d", base_num++);
 16528                             identifier_c param_name(my_name);
 16528                             identifier_c param_name(my_name);
 16529                             
 16529                             
 16530                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16530                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16531                             param_value = function_call_param_iterator.search(&param_name);
 16531                             param_value = function_call_param_iterator.search_f(&param_name);
 16532                             
 16532                             
 16533                             /* Get the value from a foo(<param_value>) style call */
 16533                             /* Get the value from a foo(<param_value>) style call */
 16534                             if (param_value == NULL)
 16534                             if (param_value == NULL)
 16535                               param_value = function_call_param_iterator.next();
 16535                               param_value = function_call_param_iterator.next_nf();
 16536                             if (param_value != NULL){
 16536                             if (param_value != NULL){
 16537                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16537                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16538                                 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 ;
 16538                                 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 ;
 16539                             
 16539                             
 16540                                 /*Function specific CODE */
 16540                                 /*Function specific CODE */
 16578             {
 16578             {
 16579         
 16579         
 16580                 {
 16580                 {
 16581                     identifier_c param_name("IN2");
 16581                     identifier_c param_name("IN2");
 16582                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16582                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16583                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 16583                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16584                     symbol_c *IN2_type_symbol = NULL;
 16584                     symbol_c *IN2_type_symbol = NULL;
 16585                     
 16585                     
 16586                     /* Get the value from a foo(<param_value>) style call */
 16586                     /* Get the value from a foo(<param_value>) style call */
 16587                     if (IN2_param_value == NULL)
 16587                     if (IN2_param_value == NULL)
 16588                       IN2_param_value = function_call_param_iterator.next();
 16588                       IN2_param_value = function_call_param_iterator.next_nf();
 16589                     if (IN2_param_value != NULL) {
 16589                     if (IN2_param_value != NULL) {
 16590                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16590                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16591                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16591                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16592                     }
 16592                     }
 16593                     
 16593                     
 16595                     {
 16595                     {
 16596                 
 16596                 
 16597                         {
 16597                         {
 16598                             identifier_c param_name("P");
 16598                             identifier_c param_name("P");
 16599                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16599                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16600                             symbol_c *P_param_value = function_call_param_iterator.search(&param_name);
 16600                             symbol_c *P_param_value = function_call_param_iterator.search_f(&param_name);
 16601                             symbol_c *P_type_symbol = NULL;
 16601                             symbol_c *P_type_symbol = NULL;
 16602                             
 16602                             
 16603                             /* Get the value from a foo(<param_value>) style call */
 16603                             /* Get the value from a foo(<param_value>) style call */
 16604                             if (P_param_value == NULL)
 16604                             if (P_param_value == NULL)
 16605                               P_param_value = function_call_param_iterator.next();
 16605                               P_param_value = function_call_param_iterator.next_nf();
 16606                             if (P_param_value != NULL) {
 16606                             if (P_param_value != NULL) {
 16607                               P_type_symbol = search_expression_type->get_type(P_param_value);
 16607                               P_type_symbol = search_expression_type->get_type(P_param_value);
 16608                               last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
 16608                               last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
 16609                             }
 16609                             }
 16610                             
 16610                             
 16666             {
 16666             {
 16667         
 16667         
 16668                 {
 16668                 {
 16669                     identifier_c param_name("L");
 16669                     identifier_c param_name("L");
 16670                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16670                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16671                     symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
 16671                     symbol_c *L_param_value = function_call_param_iterator.search_f(&param_name);
 16672                     symbol_c *L_type_symbol = NULL;
 16672                     symbol_c *L_type_symbol = NULL;
 16673                     
 16673                     
 16674                     /* Get the value from a foo(<param_value>) style call */
 16674                     /* Get the value from a foo(<param_value>) style call */
 16675                     if (L_param_value == NULL)
 16675                     if (L_param_value == NULL)
 16676                       L_param_value = function_call_param_iterator.next();
 16676                       L_param_value = function_call_param_iterator.next_nf();
 16677                     if (L_param_value != NULL) {
 16677                     if (L_param_value != NULL) {
 16678                       L_type_symbol = search_expression_type->get_type(L_param_value);
 16678                       L_type_symbol = search_expression_type->get_type(L_param_value);
 16679                       last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
 16679                       last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
 16680                     }
 16680                     }
 16681                     
 16681                     
 16683                     {
 16683                     {
 16684                 
 16684                 
 16685                         {
 16685                         {
 16686                             identifier_c param_name("P");
 16686                             identifier_c param_name("P");
 16687                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16687                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16688                             symbol_c *P_param_value = function_call_param_iterator.search(&param_name);
 16688                             symbol_c *P_param_value = function_call_param_iterator.search_f(&param_name);
 16689                             symbol_c *P_type_symbol = NULL;
 16689                             symbol_c *P_type_symbol = NULL;
 16690                             
 16690                             
 16691                             /* Get the value from a foo(<param_value>) style call */
 16691                             /* Get the value from a foo(<param_value>) style call */
 16692                             if (P_param_value == NULL)
 16692                             if (P_param_value == NULL)
 16693                               P_param_value = function_call_param_iterator.next();
 16693                               P_param_value = function_call_param_iterator.next_nf();
 16694                             if (P_param_value != NULL) {
 16694                             if (P_param_value != NULL) {
 16695                               P_type_symbol = search_expression_type->get_type(P_param_value);
 16695                               P_type_symbol = search_expression_type->get_type(P_param_value);
 16696                               last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
 16696                               last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
 16697                             }
 16697                             }
 16698                             
 16698                             
 16754             {
 16754             {
 16755         
 16755         
 16756                 {
 16756                 {
 16757                     identifier_c param_name("IN2");
 16757                     identifier_c param_name("IN2");
 16758                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16758                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16759                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 16759                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16760                     symbol_c *IN2_type_symbol = NULL;
 16760                     symbol_c *IN2_type_symbol = NULL;
 16761                     
 16761                     
 16762                     /* Get the value from a foo(<param_value>) style call */
 16762                     /* Get the value from a foo(<param_value>) style call */
 16763                     if (IN2_param_value == NULL)
 16763                     if (IN2_param_value == NULL)
 16764                       IN2_param_value = function_call_param_iterator.next();
 16764                       IN2_param_value = function_call_param_iterator.next_nf();
 16765                     if (IN2_param_value != NULL) {
 16765                     if (IN2_param_value != NULL) {
 16766                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16766                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16767                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16767                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16768                     }
 16768                     }
 16769                     
 16769                     
 16771                     {
 16771                     {
 16772                 
 16772                 
 16773                         {
 16773                         {
 16774                             identifier_c param_name("L");
 16774                             identifier_c param_name("L");
 16775                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16775                             /* Get the value from a foo(<param_name> = <param_value>) style call */
 16776                             symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
 16776                             symbol_c *L_param_value = function_call_param_iterator.search_f(&param_name);
 16777                             symbol_c *L_type_symbol = NULL;
 16777                             symbol_c *L_type_symbol = NULL;
 16778                             
 16778                             
 16779                             /* Get the value from a foo(<param_value>) style call */
 16779                             /* Get the value from a foo(<param_value>) style call */
 16780                             if (L_param_value == NULL)
 16780                             if (L_param_value == NULL)
 16781                               L_param_value = function_call_param_iterator.next();
 16781                               L_param_value = function_call_param_iterator.next_nf();
 16782                             if (L_param_value != NULL) {
 16782                             if (L_param_value != NULL) {
 16783                               L_type_symbol = search_expression_type->get_type(L_param_value);
 16783                               L_type_symbol = search_expression_type->get_type(L_param_value);
 16784                               last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
 16784                               last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
 16785                             }
 16785                             }
 16786                             
 16786                             
 16788                             {
 16788                             {
 16789                         
 16789                         
 16790                                 {
 16790                                 {
 16791                                     identifier_c param_name("P");
 16791                                     identifier_c param_name("P");
 16792                                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16792                                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16793                                     symbol_c *P_param_value = function_call_param_iterator.search(&param_name);
 16793                                     symbol_c *P_param_value = function_call_param_iterator.search_f(&param_name);
 16794                                     symbol_c *P_type_symbol = NULL;
 16794                                     symbol_c *P_type_symbol = NULL;
 16795                                     
 16795                                     
 16796                                     /* Get the value from a foo(<param_value>) style call */
 16796                                     /* Get the value from a foo(<param_value>) style call */
 16797                                     if (P_param_value == NULL)
 16797                                     if (P_param_value == NULL)
 16798                                       P_param_value = function_call_param_iterator.next();
 16798                                       P_param_value = function_call_param_iterator.next_nf();
 16799                                     if (P_param_value != NULL) {
 16799                                     if (P_param_value != NULL) {
 16800                                       P_type_symbol = search_expression_type->get_type(P_param_value);
 16800                                       P_type_symbol = search_expression_type->get_type(P_param_value);
 16801                                       last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
 16801                                       last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
 16802                                     }
 16802                                     }
 16803                                     
 16803                                     
 16869             {
 16869             {
 16870         
 16870         
 16871                 {
 16871                 {
 16872                     identifier_c param_name("IN2");
 16872                     identifier_c param_name("IN2");
 16873                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16873                     /* Get the value from a foo(<param_name> = <param_value>) style call */
 16874                     symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
 16874                     symbol_c *IN2_param_value = function_call_param_iterator.search_f(&param_name);
 16875                     symbol_c *IN2_type_symbol = NULL;
 16875                     symbol_c *IN2_type_symbol = NULL;
 16876                     
 16876                     
 16877                     /* Get the value from a foo(<param_value>) style call */
 16877                     /* Get the value from a foo(<param_value>) style call */
 16878                     if (IN2_param_value == NULL)
 16878                     if (IN2_param_value == NULL)
 16879                       IN2_param_value = function_call_param_iterator.next();
 16879                       IN2_param_value = function_call_param_iterator.next_nf();
 16880                     if (IN2_param_value != NULL) {
 16880                     if (IN2_param_value != NULL) {
 16881                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16881                       IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
 16882                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16882                       last_type_symbol = last_type_symbol && IN2_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
 16883                     }
 16883                     }
 16884                     
 16884