stage4/generate_c/generate_c_sfc.cc
changeset 627 e7caa7d32ef5
parent 594 c8092e909886
child 628 fe0d516fe291
equal deleted inserted replaced
626:9f2cefb98e60 627:e7caa7d32ef5
   517             s4o.print(s4o.indent_spaces + "if (");
   517             s4o.print(s4o.indent_spaces + "if (");
   518             if (strcmp(qualifier, "N") == 0 || strcmp(qualifier, "S") == 0 ||
   518             if (strcmp(qualifier, "N") == 0 || strcmp(qualifier, "S") == 0 ||
   519                 strcmp(qualifier, "R") == 0) {
   519                 strcmp(qualifier, "R") == 0) {
   520               s4o.print("active");
   520               s4o.print("active");
   521             }
   521             }
   522             if (strcmp(qualifier, "P") == 0 || strcmp(qualifier, "SD") == 0 || 
   522             else if (strcmp(qualifier, "P") == 0 || strcmp(qualifier, "SD") == 0 ||
   523                 strcmp(qualifier, "DS") == 0 || strcmp(qualifier, "SL") == 0) {
   523             		 strcmp(qualifier, "DS") == 0 || strcmp(qualifier, "SL") == 0 ||
       
   524             		 strcmp(qualifier, "P0") == 0) {
   524               s4o.print("activated");
   525               s4o.print("activated");
   525             }
   526             }
   526             if (strcmp(qualifier, "D") == 0 || strcmp(qualifier, "L") == 0) {
   527             else if (strcmp(qualifier, "P1") == 0) {
       
   528               s4o.print("desactivated");
       
   529             }
       
   530             else if (strcmp(qualifier, "D") == 0 || strcmp(qualifier, "L") == 0) {
   527               s4o.print("active && __time_cmp(");
   531               s4o.print("active && __time_cmp(");
   528               print_step_argument(current_step, "elapsed_time");
   532               print_step_argument(current_step, "elapsed_time");
   529               s4o.print(", ");
   533               s4o.print(", ");
   530               symbol->action_time->accept(*this);
   534               symbol->action_time->accept(*this);
   531               if (strcmp(qualifier, "D") == 0) {
   535               if (strcmp(qualifier, "D") == 0) {
   537             }
   541             }
   538             s4o.print(") {\n");
   542             s4o.print(") {\n");
   539             s4o.indent_right();
   543             s4o.indent_right();
   540             s4o.print(s4o.indent_spaces);
   544             s4o.print(s4o.indent_spaces);
   541             if (strcmp(qualifier, "N") == 0 || strcmp(qualifier, "P") == 0 ||
   545             if (strcmp(qualifier, "N") == 0 || strcmp(qualifier, "P") == 0 ||
   542                 strcmp(qualifier, "D") == 0 || strcmp(qualifier, "L") == 0) {
   546                 strcmp(qualifier, "D") == 0 || strcmp(qualifier, "L") == 0 ||
       
   547                 strcmp(qualifier, "P0") == 0 || strcmp(qualifier, "P1") == 0) {
   543               print_action_argument(current_action, "state");
   548               print_action_argument(current_action, "state");
   544               s4o.print(" = 1;\n");  
   549               s4o.print(" = 1;\n");  
   545             }
   550             }
   546             if (strcmp(qualifier, "S") == 0) {
   551             if (strcmp(qualifier, "S") == 0 || strcmp(qualifier, "SL") == 0) {
   547               print_action_argument(current_action, "set");
   552               print_action_argument(current_action, "set");
   548               s4o.print(" = 1;\n");
   553               s4o.print(" = 1;\n");
   549             }
   554             }
   550             if (strcmp(qualifier, "R") == 0) {
   555             if (strcmp(qualifier, "R") == 0) {
   551               print_action_argument(current_action, "reset");
   556               print_action_argument(current_action, "reset");