18 >{printf("enter b1\n");}
19 >{printf("enter b2\n");}
23 %{printf("leave a\n");}
24 @{printf("finish a\n");}
27 main := first . second . '\n';
32 void forder_init( struct forder *fsm )
37 void forder_execute( struct forder *fsm, const char *_data, int _len )
39 const char *p = _data;
40 const char *pe = _data+_len;
45 int forder_finish( struct forder *fsm )
47 if ( fsm->cs == forder_error )
49 if ( fsm->cs >= forder_first_final )
56 void test( char *buf )
58 int len = strlen(buf);
60 forder_execute( &fsm, buf, len );
61 if ( forder_finish( &fsm ) > 0 )
75 "fail after newline\n"
81 #ifdef _____OUTPUT_____