stage1_2/iec.flex
changeset 4 0d71456312ab
parent 3 38850ee685e6
child 6 94741aa26423
equal deleted inserted replaced
3:38850ee685e6 4:0d71456312ab
   762 }
   762 }
   763 
   763 
   764 	/* decl_state -> il_st_state */
   764 	/* decl_state -> il_st_state */
   765 <decl_state>{
   765 <decl_state>{
   766 END_VAR{st_whitespace}VAR			unput_text(strlen("END_VAR")); return END_VAR;
   766 END_VAR{st_whitespace}VAR			unput_text(strlen("END_VAR")); return END_VAR;
   767 END_VAR{st_whitespace}				unput_text(strlen("END_VAR")); BEGIN(il_st_state); return END_VAR;
   767 END_VAR{st_whitespace}				unput_text(strlen("END_VAR")); yy_push_state(il_st_state); return END_VAR;
   768 }
   768 }
   769 
   769 
   770 	/* il_st_state -> (il_state | st_state | sfc_state) */
   770 	/* il_st_state -> (il_state | st_state | sfc_state) */
   771 <il_st_state>{
   771 <il_st_state>{
   772 INITIAL_STEP				unput_text(0); BEGIN(sfc_state);
   772 INITIAL_STEP				unput_text(0); yy_push_state(sfc_state);
   773 {qualified_identifier}{st_whitespace}":="	unput_text(0); BEGIN(st_state);
   773 {qualified_identifier}{st_whitespace}":="	unput_text(0); BEGIN(st_state);
   774 {qualified_identifier}"["			unput_text(0); BEGIN(st_state);
   774 {qualified_identifier}"["			unput_text(0); BEGIN(st_state);
   775 
   775 
   776 RETURN						unput_text(0); BEGIN(st_state);
   776 RETURN						unput_text(0); BEGIN(st_state);
   777 IF						unput_text(0); BEGIN(st_state);
   777 IF						unput_text(0); BEGIN(st_state);
   804 END_PROGRAM		yy_pop_state(); unput_text(0);
   804 END_PROGRAM		yy_pop_state(); unput_text(0);
   805 END_TRANSITION		yy_pop_state(); unput_text(0);
   805 END_TRANSITION		yy_pop_state(); unput_text(0);
   806 END_ACTION			yy_pop_state(); unput_text(0);
   806 END_ACTION			yy_pop_state(); unput_text(0);
   807 }
   807 }
   808 
   808 
   809 	/* (decl_state | sfc_state) -> INITIAL */
   809 	/* sfc_state -> INITIAL */
   810 <decl_state,sfc_state>{
   810 <sfc_state>{
       
   811 END_FUNCTION		yy_pop_state(); unput_text(0);
       
   812 END_FUNCTION_BLOCK	yy_pop_state(); unput_text(0);
       
   813 END_PROGRAM		yy_pop_state(); unput_text(0);
       
   814 }
       
   815 
       
   816 	/* decl_state -> INITIAL */
       
   817 <decl_state>{
   811 END_FUNCTION		BEGIN(INITIAL); return END_FUNCTION;
   818 END_FUNCTION		BEGIN(INITIAL); return END_FUNCTION;
   812 END_FUNCTION_BLOCK	BEGIN(INITIAL); return END_FUNCTION_BLOCK;
   819 END_FUNCTION_BLOCK	BEGIN(INITIAL); return END_FUNCTION_BLOCK;
   813 END_PROGRAM		BEGIN(INITIAL); return END_PROGRAM;
   820 END_PROGRAM		BEGIN(INITIAL); return END_PROGRAM;
   814 }
   821 }
   815 	/* config -> INITIAL */
   822 	/* config -> INITIAL */