stage4/generate_c/generate_var_list.cc
changeset 135 0f3f6714b938
parent 121 9e8ce092e169
child 138 8b32fd4d0194
equal deleted inserted replaced
134:0e43c556cd2d 135:0f3f6714b938
   578       SYMBOL *current_name;
   578       SYMBOL *current_name;
   579       current_name = new SYMBOL;
   579       current_name = new SYMBOL;
   580       current_name->symbol = symbol->configuration_name;
   580       current_name->symbol = symbol->configuration_name;
   581       current_symbol_list.push_back(*current_name);
   581       current_symbol_list.push_back(*current_name);
   582       configuration_defined = true;
   582       configuration_defined = true;
       
   583       
       
   584       switch (current_declarationtype) {
       
   585         case variables_dt:
       
   586           if (symbol->global_var_declarations != NULL)
       
   587             symbol->global_var_declarations->accept(*this);
       
   588           break;
       
   589         default:
       
   590           break;
       
   591       }
       
   592 
   583       symbol->resource_declarations->accept(*this);
   593       symbol->resource_declarations->accept(*this);
   584       current_symbol_list.pop_back();
   594       current_symbol_list.pop_back();
   585       configuration_defined = false;
   595       configuration_defined = false;
   586       return NULL;
   596       return NULL;
   587     }
   597     }
   595     void *visit(resource_declaration_c *symbol) {
   605     void *visit(resource_declaration_c *symbol) {
   596       SYMBOL *current_name;
   606       SYMBOL *current_name;
   597       current_name = new SYMBOL;
   607       current_name = new SYMBOL;
   598       current_name->symbol = symbol->resource_name;
   608       current_name->symbol = symbol->resource_name;
   599       current_symbol_list.push_back(*current_name);
   609       current_symbol_list.push_back(*current_name);
   600       
   610 
   601       if (symbol->global_var_declarations != NULL)
   611       switch (current_declarationtype) {
   602         symbol->global_var_declarations->accept(*this);
   612         case variables_dt:
       
   613           if (symbol->global_var_declarations != NULL)
       
   614             symbol->global_var_declarations->accept(*this);
       
   615           break;
       
   616         default:
       
   617           break;
       
   618       }
       
   619       
   603       
   620       
   604       symbol->resource_declaration->accept(*this);
   621       symbol->resource_declaration->accept(*this);
   605       
   622       
   606       current_symbol_list.pop_back();
   623       current_symbol_list.pop_back();
   607       return NULL;
   624       return NULL;