err_syntax10.tab.c revision 1.6 1 /* $NetBSD: err_syntax10.tab.c,v 1.6 2026/01/18 16:41:31 christos Exp $ */
2
3 /* original parser id follows */
4 /* yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93" */
5 /* (use YYMAJOR/YYMINOR for ifdefs dependent on parser version) */
6
7 #define YYBYACC 1
8 #define YYMAJOR 2
9 #define YYMINOR 0
10 #define YYCHECK "yyyymmdd"
11
12 #define YYEMPTY (-1)
13 #define yyclearin (yychar = YYEMPTY)
14 #define yyerrok (yyerrflag = 0)
15 #define YYRECOVERING() (yyerrflag != 0)
16 #define YYENOMEM (-2)
17 #define YYEOF 0
18
19 #ifndef yyparse
20 #define yyparse err_syntax10_parse
21 #endif /* yyparse */
22
23 #ifndef yylex
24 #define yylex err_syntax10_lex
25 #endif /* yylex */
26
27 #ifndef yyerror
28 #define yyerror err_syntax10_error
29 #endif /* yyerror */
30
31 #ifndef yychar
32 #define yychar err_syntax10_char
33 #endif /* yychar */
34
35 #ifndef yyval
36 #define yyval err_syntax10_val
37 #endif /* yyval */
38
39 #ifndef yylval
40 #define yylval err_syntax10_lval
41 #endif /* yylval */
42
43 #ifndef yydebug
44 #define yydebug err_syntax10_debug
45 #endif /* yydebug */
46
47 #ifndef yynerrs
48 #define yynerrs err_syntax10_nerrs
49 #endif /* yynerrs */
50
51 #ifndef yyerrflag
52 #define yyerrflag err_syntax10_errflag
53 #endif /* yyerrflag */
54
55 #ifndef yylhs
56 #define yylhs err_syntax10_lhs
57 #endif /* yylhs */
58
59 #ifndef yylen
60 #define yylen err_syntax10_len
61 #endif /* yylen */
62
63 #ifndef yydefred
64 #define yydefred err_syntax10_defred
65 #endif /* yydefred */
66
67 #ifndef yydgoto
68 #define yydgoto err_syntax10_dgoto
69 #endif /* yydgoto */
70
71 #ifndef yysindex
72 #define yysindex err_syntax10_sindex
73 #endif /* yysindex */
74
75 #ifndef yyrindex
76 #define yyrindex err_syntax10_rindex
77 #endif /* yyrindex */
78
79 #ifndef yygindex
80 #define yygindex err_syntax10_gindex
81 #endif /* yygindex */
82
83 #ifndef yytable
84 #define yytable err_syntax10_table
85 #endif /* yytable */
86
87 #ifndef yycheck
88 #define yycheck err_syntax10_check
89 #endif /* yycheck */
90
91 #ifndef yyname
92 #define yyname err_syntax10_name
93 #endif /* yyname */
94
95 #ifndef yyrule
96 #define yyrule err_syntax10_rule
97 #endif /* yyrule */
98 #define YYPREFIX "err_syntax10_"
99
100 #define YYPURE 0
101
102 #line 2 "err_syntax10.y"
103 int yylex(void);
104 static void yyerror(const char *);
105 #line 104 "err_syntax10.tab.c"
106
107 /* compatibility with bison */
108 #ifdef YYPARSE_PARAM
109 /* compatibility with FreeBSD */
110 # ifdef YYPARSE_PARAM_TYPE
111 # define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM)
112 # else
113 # define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM)
114 # endif
115 #else
116 # define YYPARSE_DECL() yyparse(void)
117 #endif
118
119 /* Parameters sent to lex. */
120 #ifdef YYLEX_PARAM
121 # define YYLEX_DECL() yylex(void *YYLEX_PARAM)
122 # define YYLEX yylex(YYLEX_PARAM)
123 #else
124 # define YYLEX_DECL() yylex(void)
125 # define YYLEX yylex()
126 #endif
127
128 /* Parameters sent to yyerror. */
129 #ifndef YYERROR_DECL
130 #define YYERROR_DECL() yyerror(const char *s)
131 #endif
132 #ifndef YYERROR_CALL
133 #define YYERROR_CALL(msg) yyerror(msg)
134 #endif
135
136 extern int YYPARSE_DECL();
137
138 #define YYERRCODE 256
139 typedef int YYINT;
140 static const YYINT err_syntax10_lhs[] = { -1,
141 0,
142 };
143 static const YYINT err_syntax10_len[] = { 2,
144 1,
145 };
146 static const YYINT err_syntax10_defred[] = { 0,
147 1, 0,
148 };
149 static const YYINT err_syntax10_dgoto[] = { 2,
150 };
151 static const YYINT err_syntax10_sindex[] = { -256,
152 0, 0,
153 };
154 static const YYINT err_syntax10_rindex[] = { 0,
155 0, 0,
156 };
157 static const YYINT err_syntax10_gindex[] = { 0,
158 };
159 #define YYTABLESIZE 0
160 static const YYINT err_syntax10_table[] = { 1,
161 };
162 static const YYINT err_syntax10_check[] = { 256,
163 };
164 #define YYFINAL 2
165 #ifndef YYDEBUG
166 #define YYDEBUG 0
167 #endif
168 #define YYMAXTOKEN 256
169 #define YYUNDFTOKEN 259
170 #define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? YYUNDFTOKEN : (a))
171 #if YYDEBUG
172 #ifndef NULL
173 #define NULL (void*)0
174 #endif
175 static const char *const err_syntax10_name[] = {
176
177 "end-of-file",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
178 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
179 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"'&'",NULL,"'('",NULL,"'*'",NULL,NULL,
180 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
181 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
182 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
183 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
184 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
185 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
186 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
187 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
188 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
189 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
190 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
191 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
192 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
193 NULL,NULL,NULL,NULL,NULL,NULL,"illegal-symbol",
194 };
195 static const char *const err_syntax10_rule[] = {
196 "$accept : S",
197 "S : error",
198
199 };
200 #endif
201
202 #if YYDEBUG
203 int yydebug;
204 #endif
205
206 int yyerrflag;
207 int yychar;
208 YYSTYPE yyval;
209 YYSTYPE yylval;
210 int yynerrs;
211
212 /* define the initial stack-sizes */
213 #ifdef YYSTACKSIZE
214 #undef YYMAXDEPTH
215 #define YYMAXDEPTH YYSTACKSIZE
216 #else
217 #ifdef YYMAXDEPTH
218 #define YYSTACKSIZE YYMAXDEPTH
219 #else
220 #define YYSTACKSIZE 10000
221 #define YYMAXDEPTH 10000
222 #endif
223 #endif
224
225 #define YYINITSTACKSIZE 200
226
227 typedef struct {
228 unsigned stacksize;
229 YYINT *s_base;
230 YYINT *s_mark;
231 YYINT *s_last;
232 YYSTYPE *l_base;
233 YYSTYPE *l_mark;
234 } YYSTACKDATA;
235 /* variables for the parser stack */
236 static YYSTACKDATA yystack;
237 #line 12 "err_syntax10.y"
238
239 #include <stdio.h>
240
241 int
242 main(void)
243 {
244 printf("yyparse() = %d\n", yyparse());
245 return 0;
246 }
247
248 int
249 yylex(void)
250 {
251 return -1;
252 }
253
254 static void
255 yyerror(const char* s)
256 {
257 printf("%s\n", s);
258 }
259 #line 258 "err_syntax10.tab.c"
260
261 #if YYDEBUG
262 #include <stdio.h> /* needed for printf */
263 #endif
264
265 #include <stdlib.h> /* needed for malloc, etc */
266 #include <string.h> /* needed for memset */
267
268 /* allocate initial stack or double stack size, up to YYMAXDEPTH */
269 static int yygrowstack(YYSTACKDATA *data)
270 {
271 int i;
272 unsigned newsize;
273 YYINT *newss;
274 YYSTYPE *newvs;
275
276 if ((newsize = data->stacksize) == 0)
277 newsize = YYINITSTACKSIZE;
278 else if (newsize >= YYMAXDEPTH)
279 return YYENOMEM;
280 else if ((newsize *= 2) > YYMAXDEPTH)
281 newsize = YYMAXDEPTH;
282
283 i = (int) (data->s_mark - data->s_base);
284 newss = (YYINT *)realloc(data->s_base, newsize * sizeof(*newss));
285 if (newss == NULL)
286 return YYENOMEM;
287
288 data->s_base = newss;
289 data->s_mark = newss + i;
290
291 newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs));
292 if (newvs == NULL)
293 return YYENOMEM;
294
295 data->l_base = newvs;
296 data->l_mark = newvs + i;
297
298 data->stacksize = newsize;
299 data->s_last = data->s_base + newsize - 1;
300 return 0;
301 }
302
303 #if YYPURE || defined(YY_NO_LEAKS)
304 static void yyfreestack(YYSTACKDATA *data)
305 {
306 free(data->s_base);
307 free(data->l_base);
308 memset(data, 0, sizeof(*data));
309 }
310 #else
311 #define yyfreestack(data) /* nothing */
312 #endif
313
314 #define YYABORT goto yyabort
315 #define YYREJECT goto yyabort
316 #define YYACCEPT goto yyaccept
317 #define YYERROR goto yyerrlab
318
319 int
320 YYPARSE_DECL()
321 {
322 int yym, yyn, yystate;
323 #if YYDEBUG
324 const char *yys;
325
326 if ((yys = getenv("YYDEBUG")) != NULL)
327 {
328 yyn = *yys;
329 if (yyn >= '0' && yyn <= '9')
330 yydebug = yyn - '0';
331 }
332 #endif
333
334 /* yym is set below */
335 /* yyn is set below */
336 yynerrs = 0;
337 yyerrflag = 0;
338 yychar = YYEMPTY;
339 yystate = 0;
340
341 #if YYPURE
342 memset(&yystack, 0, sizeof(yystack));
343 #endif
344
345 if (yystack.s_base == NULL && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
346 yystack.s_mark = yystack.s_base;
347 yystack.l_mark = yystack.l_base;
348 yystate = 0;
349 *yystack.s_mark = 0;
350
351 yyloop:
352 if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
353 if (yychar < 0)
354 {
355 yychar = YYLEX;
356 if (yychar < 0) yychar = YYEOF;
357 #if YYDEBUG
358 if (yydebug)
359 {
360 if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
361 printf("%sdebug: state %d, reading %d (%s)\n",
362 YYPREFIX, yystate, yychar, yys);
363 }
364 #endif
365 }
366 if (((yyn = yysindex[yystate]) != 0) && (yyn += yychar) >= 0 &&
367 yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar)
368 {
369 #if YYDEBUG
370 if (yydebug)
371 printf("%sdebug: state %d, shifting to state %d\n",
372 YYPREFIX, yystate, yytable[yyn]);
373 #endif
374 if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
375 yystate = yytable[yyn];
376 *++yystack.s_mark = yytable[yyn];
377 *++yystack.l_mark = yylval;
378 yychar = YYEMPTY;
379 if (yyerrflag > 0) --yyerrflag;
380 goto yyloop;
381 }
382 if (((yyn = yyrindex[yystate]) != 0) && (yyn += yychar) >= 0 &&
383 yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar)
384 {
385 yyn = yytable[yyn];
386 goto yyreduce;
387 }
388 if (yyerrflag != 0) goto yyinrecovery;
389
390 YYERROR_CALL("syntax error");
391
392 goto yyerrlab; /* redundant goto avoids 'unused label' warning */
393 yyerrlab:
394 ++yynerrs;
395
396 yyinrecovery:
397 if (yyerrflag < 3)
398 {
399 yyerrflag = 3;
400 for (;;)
401 {
402 if (((yyn = yysindex[*yystack.s_mark]) != 0) && (yyn += YYERRCODE) >= 0 &&
403 yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) YYERRCODE)
404 {
405 #if YYDEBUG
406 if (yydebug)
407 printf("%sdebug: state %d, error recovery shifting\
408 to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]);
409 #endif
410 if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
411 yystate = yytable[yyn];
412 *++yystack.s_mark = yytable[yyn];
413 *++yystack.l_mark = yylval;
414 goto yyloop;
415 }
416 else
417 {
418 #if YYDEBUG
419 if (yydebug)
420 printf("%sdebug: error recovery discarding state %d\n",
421 YYPREFIX, *yystack.s_mark);
422 #endif
423 if (yystack.s_mark <= yystack.s_base) goto yyabort;
424 --yystack.s_mark;
425 --yystack.l_mark;
426 }
427 }
428 }
429 else
430 {
431 if (yychar == YYEOF) goto yyabort;
432 #if YYDEBUG
433 if (yydebug)
434 {
435 if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
436 printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
437 YYPREFIX, yystate, yychar, yys);
438 }
439 #endif
440 yychar = YYEMPTY;
441 goto yyloop;
442 }
443
444 yyreduce:
445 #if YYDEBUG
446 if (yydebug)
447 printf("%sdebug: state %d, reducing by rule %d (%s)\n",
448 YYPREFIX, yystate, yyn, yyrule[yyn]);
449 #endif
450 yym = yylen[yyn];
451 if (yym > 0)
452 yyval = yystack.l_mark[1-yym];
453 else
454 memset(&yyval, 0, sizeof yyval);
455
456 switch (yyn)
457 {
458 }
459 yystack.s_mark -= yym;
460 yystate = *yystack.s_mark;
461 yystack.l_mark -= yym;
462 yym = yylhs[yyn];
463 if (yystate == 0 && yym == 0)
464 {
465 #if YYDEBUG
466 if (yydebug)
467 printf("%sdebug: after reduction, shifting from state 0 to\
468 state %d\n", YYPREFIX, YYFINAL);
469 #endif
470 yystate = YYFINAL;
471 *++yystack.s_mark = YYFINAL;
472 *++yystack.l_mark = yyval;
473 if (yychar < 0)
474 {
475 yychar = YYLEX;
476 if (yychar < 0) yychar = YYEOF;
477 #if YYDEBUG
478 if (yydebug)
479 {
480 if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
481 printf("%sdebug: state %d, reading %d (%s)\n",
482 YYPREFIX, YYFINAL, yychar, yys);
483 }
484 #endif
485 }
486 if (yychar == YYEOF) goto yyaccept;
487 goto yyloop;
488 }
489 if (((yyn = yygindex[yym]) != 0) && (yyn += yystate) >= 0 &&
490 yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yystate)
491 yystate = yytable[yyn];
492 else
493 yystate = yydgoto[yym];
494 #if YYDEBUG
495 if (yydebug)
496 printf("%sdebug: after reduction, shifting from state %d \
497 to state %d\n", YYPREFIX, *yystack.s_mark, yystate);
498 #endif
499 if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
500 *++yystack.s_mark = (YYINT) yystate;
501 *++yystack.l_mark = yyval;
502 goto yyloop;
503
504 yyoverflow:
505 YYERROR_CALL("yacc stack overflow");
506
507 yyabort:
508 yyfreestack(&yystack);
509 return (1);
510
511 yyaccept:
512 yyfreestack(&yystack);
513 return (0);
514 }
515