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