9 * After the fact start and ending transitions. Behaves like constructors of
10 * and destructors in c++.
23 >{printf("enter inner\n");}
24 ${printf("inside inner\n");}
25 %{printf("leave inner\n");}
29 >{printf("enter outter\n");}
30 ${printf("inside outter\n");}
31 %{printf("leave outter\n");}
34 main := outter . '\n';
39 void forder_init( struct forder *fsm )
44 void forder_execute( struct forder *fsm, const char *_data, int _len )
46 const char *p = _data;
47 const char *pe = _data+_len;
52 int forder_finish( struct forder *fsm )
54 if ( fsm->cs == forder_error )
56 if ( fsm->cs >= forder_first_final )
63 void test( char *buf )
65 int len = strlen( buf );
67 forder_execute( &fsm, buf, len );
68 if ( forder_finish( &fsm ) > 0 )
91 #ifdef _____OUTPUT_____