/* * @LANG: c * @GENERATED: true */ #include #include char * ts ; char * te ; int act ; int token ; %%{ machine scanner; # Warning: changing the patterns or the input string will affect the # coverage of the scanner action types. main := |* 'a' => {printf( "%s", "pat1\n" ); }; [ab]+ . 'c' => {printf( "%s", "pat2\n" ); }; any => {printf( "%s", "any\n" ); }; *|; }%% %% write data; int cs; int blen; char buffer[1024]; void init() { %% write init; } void exec( char *data, int len ) { char *p = data; char *pe = data + len; char *eof = pe; %% write exec; } void finish( ) { if ( cs >= scanner_first_final ) printf( "ACCEPT\n" ); else printf( "FAIL\n" ); } char *inp[] = { "a", }; int inplen = 1; int main( ) { int i; for ( i = 0; i < inplen; i++ ) { init(); exec( inp[i], strlen(inp[i]) ); finish(); } return 0; }