+# 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);
+}