This commit was manufactured by cvs2svn to create tag 'FreeBSD-release/1.0'.
[unix-history] / usr.bin / yacc / test / error.tab.c
CommitLineData
15637ed4 1#ifndef lint
78ed81a3 2static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
15637ed4 3#endif
78ed81a3 4#define YYBYACC 1
5#define YYMAJOR 1
6#define YYMINOR 9
7#define yyclearin (yychar=(-1))
8#define yyerrok (yyerrflag=0)
9#define YYRECOVERING (yyerrflag!=0)
10#define YYPREFIX "yy"
15637ed4
RG
11#define YYERRCODE 256
12short yylhs[] = { -1,
13 0,
14};
15short yylen[] = { 2,
16 1,
17};
18short yydefred[] = { 0,
19 1, 0,
20};
21short yydgoto[] = { 2,
22};
23short yysindex[] = { -256,
24 0, 0,
25};
26short yyrindex[] = { 0,
27 0, 0,
28};
29short yygindex[] = { 0,
30};
31#define YYTABLESIZE 0
32short yytable[] = { 1,
33};
34short yycheck[] = { 256,
35};
36#define YYFINAL 2
37#ifndef YYDEBUG
38#define YYDEBUG 0
39#endif
40#define YYMAXTOKEN 0
41#if YYDEBUG
42char *yyname[] = {
43"end-of-file",
44};
45char *yyrule[] = {
46"$accept : S",
47"S : error",
48};
49#endif
50#ifndef YYSTYPE
51typedef int YYSTYPE;
52#endif
78ed81a3 53#ifdef YYSTACKSIZE
54#undef YYMAXDEPTH
55#define YYMAXDEPTH YYSTACKSIZE
56#else
15637ed4
RG
57#ifdef YYMAXDEPTH
58#define YYSTACKSIZE YYMAXDEPTH
59#else
78ed81a3 60#define YYSTACKSIZE 500
61#define YYMAXDEPTH 500
15637ed4
RG
62#endif
63#endif
64int yydebug;
65int yynerrs;
66int yyerrflag;
67int yychar;
68short *yyssp;
69YYSTYPE *yyvsp;
70YYSTYPE yyval;
71YYSTYPE yylval;
15637ed4
RG
72short yyss[YYSTACKSIZE];
73YYSTYPE yyvs[YYSTACKSIZE];
78ed81a3 74#define yystacksize YYSTACKSIZE
15637ed4
RG
75#line 4 "error.y"
76main(){printf("yyparse() = %d\n",yyparse());}
77yylex(){return-1;}
78yyerror(s)char*s;{printf("%s\n",s);}
78ed81a3 79#line 80 "error.tab.c"
15637ed4 80#define YYABORT goto yyabort
78ed81a3 81#define YYREJECT goto yyabort
15637ed4
RG
82#define YYACCEPT goto yyaccept
83#define YYERROR goto yyerrlab
84int
85yyparse()
86{
87 register int yym, yyn, yystate;
88#if YYDEBUG
89 register char *yys;
90 extern char *getenv();
91
92 if (yys = getenv("YYDEBUG"))
93 {
94 yyn = *yys;
78ed81a3 95 if (yyn >= '0' && yyn <= '9')
15637ed4
RG
96 yydebug = yyn - '0';
97 }
98#endif
99
100 yynerrs = 0;
101 yyerrflag = 0;
102 yychar = (-1);
103
104 yyssp = yyss;
105 yyvsp = yyvs;
106 *yyssp = yystate = 0;
107
108yyloop:
109 if (yyn = yydefred[yystate]) goto yyreduce;
110 if (yychar < 0)
111 {
112 if ((yychar = yylex()) < 0) yychar = 0;
113#if YYDEBUG
114 if (yydebug)
115 {
116 yys = 0;
117 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
118 if (!yys) yys = "illegal-symbol";
78ed81a3 119 printf("%sdebug: state %d, reading %d (%s)\n",
120 YYPREFIX, yystate, yychar, yys);
15637ed4
RG
121 }
122#endif
123 }
124 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
125 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
126 {
127#if YYDEBUG
128 if (yydebug)
78ed81a3 129 printf("%sdebug: state %d, shifting to state %d\n",
130 YYPREFIX, yystate, yytable[yyn]);
15637ed4
RG
131#endif
132 if (yyssp >= yyss + yystacksize - 1)
133 {
134 goto yyoverflow;
135 }
136 *++yyssp = yystate = yytable[yyn];
137 *++yyvsp = yylval;
138 yychar = (-1);
139 if (yyerrflag > 0) --yyerrflag;
140 goto yyloop;
141 }
142 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
143 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
144 {
145 yyn = yytable[yyn];
146 goto yyreduce;
147 }
148 if (yyerrflag) goto yyinrecovery;
149#ifdef lint
150 goto yynewerror;
151#endif
152yynewerror:
153 yyerror("syntax error");
154#ifdef lint
155 goto yyerrlab;
156#endif
157yyerrlab:
158 ++yynerrs;
159yyinrecovery:
160 if (yyerrflag < 3)
161 {
162 yyerrflag = 3;
163 for (;;)
164 {
165 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
166 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
167 {
168#if YYDEBUG
169 if (yydebug)
78ed81a3 170 printf("%sdebug: state %d, error recovery shifting\
171 to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
15637ed4
RG
172#endif
173 if (yyssp >= yyss + yystacksize - 1)
174 {
175 goto yyoverflow;
176 }
177 *++yyssp = yystate = yytable[yyn];
178 *++yyvsp = yylval;
179 goto yyloop;
180 }
181 else
182 {
183#if YYDEBUG
184 if (yydebug)
78ed81a3 185 printf("%sdebug: error recovery discarding state %d\n",
186 YYPREFIX, *yyssp);
15637ed4
RG
187#endif
188 if (yyssp <= yyss) goto yyabort;
189 --yyssp;
190 --yyvsp;
191 }
192 }
193 }
194 else
195 {
196 if (yychar == 0) goto yyabort;
197#if YYDEBUG
198 if (yydebug)
199 {
200 yys = 0;
201 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
202 if (!yys) yys = "illegal-symbol";
78ed81a3 203 printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
204 YYPREFIX, yystate, yychar, yys);
15637ed4
RG
205 }
206#endif
207 yychar = (-1);
208 goto yyloop;
209 }
210yyreduce:
211#if YYDEBUG
212 if (yydebug)
78ed81a3 213 printf("%sdebug: state %d, reducing by rule %d (%s)\n",
214 YYPREFIX, yystate, yyn, yyrule[yyn]);
15637ed4
RG
215#endif
216 yym = yylen[yyn];
217 yyval = yyvsp[1-yym];
218 switch (yyn)
219 {
220 }
221 yyssp -= yym;
222 yystate = *yyssp;
223 yyvsp -= yym;
224 yym = yylhs[yyn];
225 if (yystate == 0 && yym == 0)
226 {
78ed81a3 227#if YYDEBUG
15637ed4 228 if (yydebug)
78ed81a3 229 printf("%sdebug: after reduction, shifting from state 0 to\
230 state %d\n", YYPREFIX, YYFINAL);
15637ed4
RG
231#endif
232 yystate = YYFINAL;
233 *++yyssp = YYFINAL;
234 *++yyvsp = yyval;
235 if (yychar < 0)
236 {
237 if ((yychar = yylex()) < 0) yychar = 0;
238#if YYDEBUG
239 if (yydebug)
240 {
241 yys = 0;
242 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
243 if (!yys) yys = "illegal-symbol";
78ed81a3 244 printf("%sdebug: state %d, reading %d (%s)\n",
245 YYPREFIX, YYFINAL, yychar, yys);
15637ed4
RG
246 }
247#endif
248 }
249 if (yychar == 0) goto yyaccept;
250 goto yyloop;
251 }
252 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
253 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
254 yystate = yytable[yyn];
255 else
256 yystate = yydgoto[yym];
78ed81a3 257#if YYDEBUG
15637ed4 258 if (yydebug)
78ed81a3 259 printf("%sdebug: after reduction, shifting from state %d \
260to state %d\n", YYPREFIX, *yyssp, yystate);
15637ed4
RG
261#endif
262 if (yyssp >= yyss + yystacksize - 1)
263 {
264 goto yyoverflow;
265 }
266 *++yyssp = yystate;
267 *++yyvsp = yyval;
268 goto yyloop;
269yyoverflow:
270 yyerror("yacc stack overflow");
271yyabort:
272 return (1);
273yyaccept:
274 return (0);
275}