stage4/generate_c/generate_c.cc
changeset 856 d80971552535
parent 854 13d0b67de111
child 860 7669a8d43c11
equal deleted inserted replaced
855:a3109442e166 856:d80971552535
   853     /* array_specification [ASSIGN array_initialization] */
   853     /* array_specification [ASSIGN array_initialization] */
   854     /* array_initialization may be NULL ! */
   854     /* array_initialization may be NULL ! */
   855     void *visit(array_spec_init_c *symbol) {
   855     void *visit(array_spec_init_c *symbol) {
   856       switch (current_mode) {
   856       switch (current_mode) {
   857         case arraydeclaration_im:
   857         case arraydeclaration_im:
       
   858           {
       
   859             array_specification_c *specification = dynamic_cast<array_specification_c*>(symbol->array_specification);
       
   860             if (specification != NULL)
       
   861               symbol->array_specification->accept(*this);
       
   862           }
       
   863           break;
   858         case arrayname_im:
   864         case arrayname_im:
   859           {
   865           {
   860             array_specification_c *specification = dynamic_cast<array_specification_c*>(symbol->array_specification);
   866             array_specification_c *specification = dynamic_cast<array_specification_c*>(symbol->array_specification);
   861             if (specification != NULL)
   867             if (specification != NULL)
   862               symbol->array_specification->accept(*this);
   868               symbol->array_specification->accept(*this);
       
   869             identifier_c *name = dynamic_cast<identifier_c*>(symbol->array_specification);
       
   870             if (name != NULL)
       
   871               s4o_incl.print(name->value);
   863           }
   872           }
   864           break;
   873           break;
   865         default:
   874         default:
   866           return generate_c_typedecl_c::visit(symbol);
   875           return generate_c_typedecl_c::visit(symbol);
   867           break;
   876           break;