Home | History | Annotate | Line # | Download | only in yacc
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