553 |
553 |
554 /*********************************************/ |
554 /*********************************************/ |
555 /* B.1.6 Sequential function chart elements */ |
555 /* B.1.6 Sequential function chart elements */ |
556 /*********************************************/ |
556 /*********************************************/ |
557 |
557 |
|
558 /* | sequential_function_chart sfc_network */ |
558 SYM_LIST(sequential_function_chart_c) |
559 SYM_LIST(sequential_function_chart_c) |
559 |
560 |
|
561 /* initial_step {step | transition | action} */ |
560 SYM_LIST(sfc_network_c) |
562 SYM_LIST(sfc_network_c) |
561 |
563 |
|
564 /* INITIAL_STEP step_name ':' action_association_list END_STEP */ |
562 SYM_REF2(initial_step_c, step_name, action_association_list) |
565 SYM_REF2(initial_step_c, step_name, action_association_list) |
563 |
566 |
|
567 /* | action_association_list action_association ';' */ |
564 SYM_LIST(action_association_list_c) |
568 SYM_LIST(action_association_list_c) |
|
569 |
|
570 /* STEP step_name ':' action_association_list END_STEP */ |
565 SYM_REF2(step_c, step_name, action_association_list) |
571 SYM_REF2(step_c, step_name, action_association_list) |
|
572 |
|
573 /* action_name '(' action_qualifier indicator_name_list ')' */ |
|
574 /* action_qualifier -> may be NULL ! */ |
566 SYM_REF3(action_association_c, action_name, action_qualifier, indicator_name_list) |
575 SYM_REF3(action_association_c, action_name, action_qualifier, indicator_name_list) |
567 |
576 |
|
577 /* N | R | S | P */ |
568 SYM_TOKEN(qualifier_c) |
578 SYM_TOKEN(qualifier_c) |
|
579 |
|
580 /* L | D | SD | DS | SL */ |
569 SYM_TOKEN(timed_qualifier_c) |
581 SYM_TOKEN(timed_qualifier_c) |
570 |
582 |
|
583 /* | indicator_name_list ',' indicator_name */ |
571 SYM_LIST(indicator_name_list_c) |
584 SYM_LIST(indicator_name_list_c) |
572 |
585 |
|
586 /* qualifier | timed_qualifier ',' action_time */ |
|
587 /* action_time -> may be NULL ! */ |
573 SYM_REF2(action_qualifier_c, action_qualifier, action_time) |
588 SYM_REF2(action_qualifier_c, action_qualifier, action_time) |
574 |
589 |
|
590 /* TRANSITION [transition_name] ['(' PRIORITY ASSIGN integer ')'] |
|
591 * FROM steps TO steps |
|
592 * transition_condition |
|
593 * END_TRANSITION |
|
594 */ |
|
595 /* transition_name -> may be NULL ! */ |
|
596 /* integer -> may be NULL ! */ |
575 SYM_REF5(transition_c, transition_name, integer, from_steps, to_steps, transition_condition) |
597 SYM_REF5(transition_c, transition_name, integer, from_steps, to_steps, transition_condition) |
576 |
598 |
|
599 /* ':' eol_list simple_instr_list | ASSIGN expression ';' */ |
|
600 /* transition_condition_il -> may be NULL ! */ |
|
601 /* transition_condition_st -> may be NULL ! */ |
577 SYM_REF2(transition_condition_c, transition_condition_il, transition_condition_st) |
602 SYM_REF2(transition_condition_c, transition_condition_il, transition_condition_st) |
578 |
603 |
|
604 /* step_name | '(' step_name_list ')' */ |
|
605 /* step_name -> may be NULL ! */ |
|
606 /* step_name_list -> may be NULL ! */ |
579 SYM_REF2(steps_c, step_name, step_name_list) |
607 SYM_REF2(steps_c, step_name, step_name_list) |
580 |
608 |
|
609 /* | step_name_list ',' step_name */ |
581 SYM_LIST(step_name_list_c) |
610 SYM_LIST(step_name_list_c) |
582 |
611 |
|
612 /* ACTION action_name ':' function_block_body END_ACTION */ |
583 SYM_REF2(action_c, action_name, function_block_body) |
613 SYM_REF2(action_c, action_name, function_block_body) |
584 |
614 |
585 /********************************/ |
615 /********************************/ |
586 /* B 1.7 Configuration elements */ |
616 /* B 1.7 Configuration elements */ |
587 /********************************/ |
617 /********************************/ |