|
|
1.1 root 1: /* @(#)reject.c 4.1 12/25/82 */
2:
3: # include <stdio.h>
4: extern struct {int *yyaa, *yybb; int *yystops;} *yylstate [], **yylsp, **yyolsp;
5: yyreject ()
6: {
7: extern FILE *yyout, *yyin;
8: extern int yyprevious , *yyfnd;
9: extern char yyextra[];
10: extern char yytext[];
11: extern int yyleng;
12: for( ; yylsp < yyolsp; yylsp++)
13: yytext[yyleng++] = yyinput();
14: if (*yyfnd > 0)
15: return(yyracc(*yyfnd++));
16: while (yylsp-- > yylstate)
17: {
18: yyunput(yytext[yyleng-1]);
19: yytext[--yyleng] = 0;
20: if (*yylsp != 0 && (yyfnd= (*yylsp)->yystops) && *yyfnd > 0)
21: return(yyracc(*yyfnd++));
22: }
23: if (yytext[0] == 0)
24: return(0);
25: yyoutput(yyprevious = yyinput());
26: yyleng=0;
27: return(-1);
28: }
29: yyracc(m)
30: {
31: yyolsp = yylsp;
32: if (yyextra[m])
33: {
34: while (yyback((*yylsp)->yystops, -m) != 1 && yylsp>yylstate)
35: {
36: yylsp--;
37: yyunput(yytext[--yyleng]);
38: }
39: }
40: yyprevious = yytext[yyleng-1];
41: yytext[yyleng] = 0;
42: return(m);
43: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.