stage1_2/iec.y
changeset 87 b97f9ad7b2c6
parent 86 1988bf1634da
child 88 dab799d3d4a6
equal deleted inserted replaced
86:1988bf1634da 87:b97f9ad7b2c6
  3780 transition:
  3780 transition:
  3781   TRANSITION 
  3781   TRANSITION 
  3782     FROM steps TO steps 
  3782     FROM steps TO steps 
  3783     {cmd_goto_body_state();} transition_condition 
  3783     {cmd_goto_body_state();} transition_condition 
  3784   END_TRANSITION 
  3784   END_TRANSITION 
  3785 	{$$ = new transition_c(NULL, NULL, $3, $5, $7, NULL, locloc(@$));}
  3785 	{$$ = new transition_c(NULL, NULL, $3, $5, $7, locloc(@$));}
  3786 //| TRANSITION identifier FROM steps TO steps ... 
  3786 //| TRANSITION identifier FROM steps TO steps ... 
  3787 | TRANSITION transition_name 
  3787 | TRANSITION transition_name 
  3788     FROM steps TO steps 
  3788     FROM steps TO steps 
  3789     {cmd_goto_body_state();} transition_condition 
  3789     {cmd_goto_body_state();} transition_condition 
  3790   END_TRANSITION 
  3790   END_TRANSITION 
  3791 	{$$ = new transition_c($2, NULL, $4, $6, $8, NULL, locloc(@$));}
  3791 	{$$ = new transition_c($2, NULL, $4, $6, $8, locloc(@$));}
  3792 | TRANSITION '(' {cmd_goto_sfc_priority_state();} PRIORITY {cmd_pop_state();} ASSIGN integer ')' 
  3792 | TRANSITION '(' {cmd_goto_sfc_priority_state();} PRIORITY {cmd_pop_state();} ASSIGN integer ')' 
  3793     FROM steps TO steps 
  3793     FROM steps TO steps 
  3794     {cmd_goto_body_state();} transition_condition 
  3794     {cmd_goto_body_state();} transition_condition 
  3795   END_TRANSITION
  3795   END_TRANSITION
  3796         {$$ = new transition_c(NULL, $7, $10, $12, $14, NULL, locloc(@$));}
  3796         {$$ = new transition_c(NULL, $7, $10, $12, $14, locloc(@$));}
  3797 //| TRANSITION identifier '(' PRIORITY ASSIGN integer ')' FROM steps TO steps ...
  3797 //| TRANSITION identifier '(' PRIORITY ASSIGN integer ')' FROM steps TO steps ...
  3798 | TRANSITION transition_name '(' {cmd_goto_sfc_priority_state();} PRIORITY {cmd_pop_state();} ASSIGN integer ')' 
  3798 | TRANSITION transition_name '(' {cmd_goto_sfc_priority_state();} PRIORITY {cmd_pop_state();} ASSIGN integer ')' 
  3799     FROM steps TO steps 
  3799     FROM steps TO steps 
  3800     {cmd_goto_body_state();} transition_condition 
  3800     {cmd_goto_body_state();} transition_condition 
  3801   END_TRANSITION
  3801   END_TRANSITION
  3802         {$$ = new transition_c($2, $8, $11, $13, $15, NULL, locloc(@$));}
  3802         {$$ = new transition_c($2, $8, $11, $13, $15, locloc(@$));}
  3803 ;
  3803 ;
  3804 
  3804 
  3805 
  3805 
  3806 
  3806 
  3807 transition_condition:
  3807 transition_condition:
  3808   ':' eol_list simple_instr_list
  3808   ':' eol_list simple_instr_list
  3809 	{$$ = $3;}
  3809 	{$$ = new transition_condition_c($3, NULL);}
  3810 | ASSIGN expression ';'
  3810 | ASSIGN expression ';'
  3811 	{$$ = $2}
  3811 	{$$ = new transition_condition_c(NULL, $2);}
  3812 ;
  3812 ;
  3813 
  3813 
  3814 
  3814 
  3815 
  3815 
  3816 action:
  3816 action: