stage4/generate_c/generate_c_sfcdecl.cc
changeset 897 8c3e91c385f5
parent 885 b2604fc6d25c
child 920 4369ce5e687f
equal deleted inserted replaced
896:c1cf7259160d 897:8c3e91c385f5
   250           s4o.print(SET_VAR);
   250           s4o.print(SET_VAR);
   251           s4o.print("(");
   251           s4o.print("(");
   252           print_variable_prefix();
   252           print_variable_prefix();
   253           s4o.print(",__step_list[");
   253           s4o.print(",__step_list[");
   254           s4o.print(step_number);
   254           s4o.print(step_number);
   255           s4o.print("].state,,1);\n");
   255           s4o.print("].X,,1);\n");
   256           step_number++;
   256           step_number++;
   257           break;
   257           break;
   258         case stepdef_sd:
   258         case stepdef_sd:
   259           s4o.print("#define ");
   259           s4o.print("#define ");
       
   260           symbol->step_name->accept(*this);
       
   261           s4o.print(" __step_list[");
       
   262           s4o.print(step_number);
       
   263           s4o.print("]\n");
       
   264 
       
   265           s4o.print("#define ");
   260           s4o.print(SFC_STEP_ACTION_PREFIX);
   266           s4o.print(SFC_STEP_ACTION_PREFIX);
   261           symbol->step_name->accept(*this);
   267           symbol->step_name->accept(*this);
   262           s4o.print(" ");
   268           s4o.print(" ");
   263           s4o.print(step_number);
   269           s4o.print(step_number);
   264           s4o.print("\n");
   270           s4o.print("\n");
   265           step_number++;
   271           step_number++;
   266           break;
   272           break;
   267         case stepundef_sd:
   273         case stepundef_sd:
       
   274           s4o.print("#undef ");
       
   275           symbol->step_name->accept(*this);
       
   276           s4o.print("\n");
       
   277 
   268           s4o.print("#undef ");
   278           s4o.print("#undef ");
   269           s4o.print(SFC_STEP_ACTION_PREFIX);
   279           s4o.print(SFC_STEP_ACTION_PREFIX);
   270           symbol->step_name->accept(*this);
   280           symbol->step_name->accept(*this);
   271           s4o.print("\n");
   281           s4o.print("\n");
   272           break;
   282           break;
   287         case sfcinit_sd:
   297         case sfcinit_sd:
   288           step_number++;
   298           step_number++;
   289           break;
   299           break;
   290         case stepdef_sd:
   300         case stepdef_sd:
   291           s4o.print("#define ");
   301           s4o.print("#define ");
       
   302           symbol->step_name->accept(*this);
       
   303           s4o.print(" __step_list[");
       
   304           s4o.print(step_number);
       
   305           s4o.print("]\n");
       
   306 
       
   307           s4o.print("#define ");
   292           s4o.print(SFC_STEP_ACTION_PREFIX);
   308           s4o.print(SFC_STEP_ACTION_PREFIX);
   293           symbol->step_name->accept(*this);
   309           symbol->step_name->accept(*this);
   294           s4o.print(" ");
   310           s4o.print(" ");
   295           s4o.print(step_number);
   311           s4o.print(step_number);
   296           s4o.print("\n");
   312           s4o.print("\n");
   297           step_number++;
   313           step_number++;
   298           break;
   314           break;
   299         case stepundef_sd:
   315         case stepundef_sd:
       
   316           s4o.print("#undef ");
       
   317           symbol->step_name->accept(*this);
       
   318           s4o.print("\n");
       
   319 
   300           s4o.print("#undef ");
   320           s4o.print("#undef ");
   301           s4o.print(SFC_STEP_ACTION_PREFIX);
   321           s4o.print(SFC_STEP_ACTION_PREFIX);
   302           symbol->step_name->accept(*this);
   322           symbol->step_name->accept(*this);
   303           s4o.print("\n");
   323           s4o.print("\n");
   304           break;
   324           break;