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