diff -r 23baa8821b58 -r 55ffcf693d6d absyntax/absyntax.def --- a/absyntax/absyntax.def Sat Nov 17 09:44:14 2007 +0100 +++ b/absyntax/absyntax.def Sat Nov 17 10:08:38 2007 +0100 @@ -1,5 +1,5 @@ /* - * (c) 2003 Mario de Sousa + * (c) 2003-2007 Mario de Sousa * * Offered to the public under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 of the @@ -555,31 +555,61 @@ /* B.1.6 Sequential function chart elements */ /*********************************************/ +/* | sequential_function_chart sfc_network */ SYM_LIST(sequential_function_chart_c) +/* initial_step {step | transition | action} */ SYM_LIST(sfc_network_c) +/* INITIAL_STEP step_name ':' action_association_list END_STEP */ SYM_REF2(initial_step_c, step_name, action_association_list) +/* | action_association_list action_association ';' */ SYM_LIST(action_association_list_c) + +/* STEP step_name ':' action_association_list END_STEP */ SYM_REF2(step_c, step_name, action_association_list) + +/* action_name '(' action_qualifier indicator_name_list ')' */ +/* action_qualifier -> may be NULL ! */ SYM_REF3(action_association_c, action_name, action_qualifier, indicator_name_list) +/* N | R | S | P */ SYM_TOKEN(qualifier_c) + +/* L | D | SD | DS | SL */ SYM_TOKEN(timed_qualifier_c) +/* | indicator_name_list ',' indicator_name */ SYM_LIST(indicator_name_list_c) +/* qualifier | timed_qualifier ',' action_time */ +/* action_time -> may be NULL ! */ SYM_REF2(action_qualifier_c, action_qualifier, action_time) +/* TRANSITION [transition_name] ['(' PRIORITY ASSIGN integer ')'] + * FROM steps TO steps + * transition_condition + * END_TRANSITION +*/ +/* transition_name -> may be NULL ! */ +/* integer -> may be NULL ! */ SYM_REF5(transition_c, transition_name, integer, from_steps, to_steps, transition_condition) +/* ':' eol_list simple_instr_list | ASSIGN expression ';' */ +/* transition_condition_il -> may be NULL ! */ +/* transition_condition_st -> may be NULL ! */ SYM_REF2(transition_condition_c, transition_condition_il, transition_condition_st) +/* step_name | '(' step_name_list ')' */ +/* step_name -> may be NULL ! */ +/* step_name_list -> may be NULL ! */ SYM_REF2(steps_c, step_name, step_name_list) +/* | step_name_list ',' step_name */ SYM_LIST(step_name_list_c) +/* ACTION action_name ':' function_block_body END_ACTION */ SYM_REF2(action_c, action_name, function_block_body) /********************************/