stage4/generate_c/generate_c_sfcdecl.cc
changeset 991 7c01878bd525
parent 945 477393b00f95
child 1008 59435d4c5e0c
equal deleted inserted replaced
986:2064a22cc1f2 991:7c01878bd525
   190             symbol->elements[i]->accept(*this);
   190             symbol->elements[i]->accept(*this);
   191           s4o.print("\n");
   191           s4o.print("\n");
   192           break;
   192           break;
   193         case actiondef_sd:
   193         case actiondef_sd:
   194           s4o.print("// Actions definitions\n");
   194           s4o.print("// Actions definitions\n");
   195           for(int i = 0; i < symbol->n; i++)
       
   196              symbol->elements[i]->accept(*this);
       
   197           {
   195           {
   198             // first fill up the this->variable_list variable!
   196             // first fill up the this->variable_list variable!
   199             wanted_sfcdeclaration = actioncount_sd;
   197             wanted_sfcdeclaration = actioncount_sd;
   200             for(int i = 0; i < symbol->n; i++)
   198             for(int i = 0; i < symbol->n; i++)
   201                symbol->elements[i]->accept(*this);
   199                symbol->elements[i]->accept(*this);
       
   200             action_number = 0; // reset the counter!
   202             wanted_sfcdeclaration = actiondef_sd;
   201             wanted_sfcdeclaration = actiondef_sd;
       
   202             // Now do the defines for actions!
       
   203             for(int i = 0; i < symbol->n; i++)
       
   204               symbol->elements[i]->accept(*this);
   203             // Now do the defines for actions that reference a variable instead of an action block!
   205             // Now do the defines for actions that reference a variable instead of an action block!
   204             std::list<VARIABLE>::iterator pt;
   206             std::list<VARIABLE>::iterator pt;
   205             for(pt = variable_list.begin(); pt != variable_list.end(); pt++) {
   207             for(pt = variable_list.begin(); pt != variable_list.end(); pt++) {
   206               s4o.print("#define ");
   208               s4o.print("#define ");
   207               s4o.print(SFC_STEP_ACTION_PREFIX);
   209               s4o.print(SFC_STEP_ACTION_PREFIX);