home *** CD-ROM | disk | FTP | other *** search
- # include <stdio.h>
- extern struct {int *yyaa, *yybb; int *yystops;} *yylstate [], **yylsp, **yyolsp;
- yyreject ()
- {
- extern FILE *yyout, *yyin;
- extern int yyprevious , *yyfnd;
- extern char yyextra[];
- extern char yytext[];
- extern int yyleng;
- for( ; yylsp < yyolsp; yylsp++)
- yytext[yyleng++] = yyinput();
- if (*yyfnd > 0)
- return(yyracc(*yyfnd++));
- while (yylsp-- > yylstate)
- {
- yyunput(yytext[yyleng-1]);
- yytext[--yyleng] = 0;
- if (*yylsp != 0 && (yyfnd= (*yylsp)->yystops) && *yyfnd > 0)
- return(yyracc(*yyfnd++));
- }
- if (yytext[0] == 0)
- return(0);
- yyoutput(yyprevious = yyinput());
- yyleng=0;
- return(-1);
- }
- yyracc(m)
- {
- yyolsp = yylsp;
- if (yyextra[m])
- {
- while (yyback((*yylsp)->yystops, -m) != 1 && yylsp>yylstate)
- {
- yylsp--;
- yyunput(yytext[--yyleng]);
- }
- }
- yyprevious = yytext[yyleng-1];
- yytext[yyleng] = 0;
- return(m);
- }
-