stage4/generate_c/generate_c_typedecl.cc
changeset 594 c8092e909886
parent 592 99a284cec1f2
child 661 f537c3315f83
child 706 31553c22f318
equal deleted inserted replaced
593:412780374bd3 594:c8092e909886
    73       arraysubrange_bd
    73       arraysubrange_bd
    74     } basetypedeclaration_t;
    74     } basetypedeclaration_t;
    75 
    75 
    76     basetypedeclaration_t current_basetypedeclaration;
    76     basetypedeclaration_t current_basetypedeclaration;
    77 
    77 
    78     void print_integer(unsigned long long int integer) {
       
    79       char str[24];
       
    80       sprintf(str, "%llu", integer);
       
    81       s4o.print(str);
       
    82     }
       
    83 
       
    84     void print_integer_incl(unsigned long long int integer) {
       
    85       char str[24];
       
    86       sprintf(str, "%llu", integer);
       
    87       s4o_incl.print(str);
       
    88     }
       
    89 
       
    90     void *print_list_incl(list_c *list,
    78     void *print_list_incl(list_c *list,
    91          std::string pre_elem_str = "",
    79          std::string pre_elem_str = "",
    92          std::string inter_elem_str = "",
    80          std::string inter_elem_str = "",
    93          std::string post_elem_str = "",
    81          std::string post_elem_str = "",
    94          visitor_c *visitor = NULL) {
    82          visitor_c *visitor = NULL) {
   253   int dimension;
   241   int dimension;
   254   switch (current_typedefinition) {
   242   switch (current_typedefinition) {
   255     case array_td:
   243     case array_td:
   256       if (current_basetypedeclaration == arraysubrange_bd) {
   244       if (current_basetypedeclaration == arraysubrange_bd) {
   257         s4o_incl.print("[");
   245         s4o_incl.print("[");
   258         print_integer_incl(symbol->dimension);
   246         s4o_incl.print(symbol->dimension);
   259         s4o_incl.print("]");
   247         s4o_incl.print("]");
   260       }
   248       }
   261       else
   249       else
   262         symbol->lower_limit->accept(*this);
   250         symbol->lower_limit->accept(*this);
   263       break;
   251       break;