stage4/generate_cc/st_code_gen.c
changeset 41 8998c8b24b60
parent 40 873a5b60a7ea
child 42 b45c7f34dec1
equal deleted inserted replaced
40:873a5b60a7ea 41:8998c8b24b60
 16701                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 16701                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
 16702                         s4o.print("__concat(");
 16702                         s4o.print("__concat(");
 16703                         s4o.print_integer(nb_param);
 16703                         s4o.print_integer(nb_param);
 16704                         s4o.print(",");
 16704                         s4o.print(",");
 16705                         IN1_param_value->accept(*this);
 16705                         IN1_param_value->accept(*this);
 16706                         s4o.print(",&");
 16706                         s4o.print(",");
 16707                         IN2_param_value->accept(*this);
 16707                         IN2_param_value->accept(*this);
 16708                         
 16708                         
 16709                         int base_num = 3;
 16709                         int base_num = 3;
 16710                         symbol_c *param_value = NULL;
 16710                         symbol_c *param_value = NULL;
 16711                         do{
 16711                         do{
 16722                             if (param_value != NULL){
 16722                             if (param_value != NULL){
 16723                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16723                                 symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
 16724                                 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 ;
 16724                                 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 ;
 16725                             
 16725                             
 16726                                 /*Function specific CODE */
 16726                                 /*Function specific CODE */
 16727                                 s4o.print(",&");
 16727                                 s4o.print(",");
 16728                                 param_value->accept(*this);
 16728                                 param_value->accept(*this);
 16729                                 
 16729                                 
 16730                             }
 16730                             }
 16731                             
 16731                             
 16732                         }while(param_value != NULL);
 16732                         }while(param_value != NULL);