stage4/generate_cc/il_code_gen.c
changeset 41 8998c8b24b60
parent 40 873a5b60a7ea
child 42 b45c7f34dec1
equal deleted inserted replaced
40:873a5b60a7ea 41:8998c8b24b60
 15017                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 15017                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 15018                         s4o.print("__concat(");
 15018                         s4o.print("__concat(");
 15019                         s4o.print_integer(nb_param);
 15019                         s4o.print_integer(nb_param);
 15020                         s4o.print(",");
 15020                         s4o.print(",");
 15021                         IN1_param_value->accept(*this);
 15021                         IN1_param_value->accept(*this);
 15022                         s4o.print(",&");
 15022                         s4o.print(",");
 15023                         IN2_param_value->accept(*this);
 15023                         IN2_param_value->accept(*this);
 15024                         
 15024                         
 15025                         int base_num = 3;
 15025                         int base_num = 3;
 15026                         symbol_c *param_value = NULL;
 15026                         symbol_c *param_value = NULL;
 15027                         do{
 15027                         do{
 15038                             if (param_value != NULL){
 15038                             if (param_value != NULL){
 15039                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15039                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 15040                                 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 ;
 15040                                 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 ;
 15041                             
 15041                             
 15042                                 /*Function specific CODE */
 15042                                 /*Function specific CODE */
 15043                                 s4o.print(",&");
 15043                                 s4o.print(",");
 15044                                 param_value->accept(*this);
 15044                                 param_value->accept(*this);
 15045                                 
 15045                                 
 15046                             }
 15046                             }
 15047                             
 15047                             
 15048                         }while(param_value != NULL);
 15048                         }while(param_value != NULL);