4 * Tests fnext in combination with fbreak.
16 action break {fbreak;}
18 main := 'h' @{ /*h*/ fnext e; fbreak; };
19 e := 'e' @{ /*e*/ fnext l; } @{ fbreak; };
20 l := 'll' @{ /*ll*/ fnext o; } ${ fbreak; };
21 o := |* 'o' { /*o*/ fnext nl; fbreak; }; *|;
22 nl := '\n' @{ /*nl*/ fbreak; printf("ACCEPT\n"); };
36 void exec( char *data, int len )
39 char *pe = data + len;
41 while ( cs != fnext_error && p < pe ) {
49 if ( cs >= fnext_first_final )
64 for ( i = 0; i < inplen; i++ ) {
66 exec( inp[i], strlen(inp[i]) );
72 #ifdef _____OUTPUT_____