stage4/generate_c/generate_c_sfc.cc
changeset 1030 9aba95daf81a
parent 1011 76175defb87b
child 1041 56ebe2a31b5b
equal deleted inserted replaced
1029:37145f381bb0 1030:9aba95daf81a
   575             if ((strcmp(qualifier, "L") == 0) || 
   575             if ((strcmp(qualifier, "L") == 0) || 
   576                 (strcmp(qualifier, "D") == 0)) {
   576                 (strcmp(qualifier, "D") == 0)) {
   577               s4o.print(s4o.indent_spaces + "if (active && __time_cmp(");
   577               s4o.print(s4o.indent_spaces + "if (active && __time_cmp(");
   578               print_step_argument(current_step, "T.value");
   578               print_step_argument(current_step, "T.value");
   579               s4o.print(", ");
   579               s4o.print(", ");
   580               symbol->action_time->accept(*this);
   580               symbol->action_time->accept(*generate_c_st);
   581               if (strcmp(qualifier, "L") == 0)
   581               if (strcmp(qualifier, "L") == 0)
   582                 s4o.print(") < 0) ");
   582                 s4o.print(") < 0) ");
   583               else
   583               else
   584                 s4o.print(") >= 0) ");
   584                 s4o.print(") >= 0) ");
   585               s4o.print("\n" + s4o.indent_spaces + "                  ");
   585               s4o.print("\n" + s4o.indent_spaces + "                  ");
   616               s4o.print("\n" + s4o.indent_spaces);
   616               s4o.print("\n" + s4o.indent_spaces);
   617               print_action_argument(current_action, "set");
   617               print_action_argument(current_action, "set");
   618               s4o.print(" = 1;\n" + s4o.indent_spaces);
   618               s4o.print(" = 1;\n" + s4o.indent_spaces);
   619               print_action_argument(current_action, "reset_remaining_time");
   619               print_action_argument(current_action, "reset_remaining_time");
   620               s4o.print(" = ");
   620               s4o.print(" = ");
   621               symbol->action_time->accept(*this);
   621               symbol->action_time->accept(*generate_c_st);
   622               s4o.print(";\n");
   622               s4o.print(";\n");
   623               s4o.indent_left();
   623               s4o.indent_left();
   624               s4o.print(s4o.indent_spaces + "}\n");
   624               s4o.print(s4o.indent_spaces + "}\n");
   625               return NULL;
   625               return NULL;
   626             }
   626             }
   630               s4o.print(s4o.indent_spaces + "if (activated) {");
   630               s4o.print(s4o.indent_spaces + "if (activated) {");
   631               s4o.indent_right();
   631               s4o.indent_right();
   632               s4o.print("\n" + s4o.indent_spaces);
   632               s4o.print("\n" + s4o.indent_spaces);
   633               print_action_argument(current_action, "set_remaining_time");
   633               print_action_argument(current_action, "set_remaining_time");
   634               s4o.print(" = ");
   634               s4o.print(" = ");
   635               symbol->action_time->accept(*this);
   635               symbol->action_time->accept(*generate_c_st);
   636               s4o.print(";\n");
   636               s4o.print(";\n");
   637               s4o.indent_left();
   637               s4o.indent_left();
   638               s4o.print(s4o.indent_spaces + "}\n");
   638               s4o.print(s4o.indent_spaces + "}\n");
   639               if (strcmp(qualifier, "DS") == 0) {
   639               if (strcmp(qualifier, "DS") == 0) {
   640                 s4o.print(s4o.indent_spaces + "if (desactivated) {");
   640                 s4o.print(s4o.indent_spaces + "if (desactivated) {");