X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/ee16363fd28099fc295b269da98c2aace6a63395..397ec0734f0dc355714ec3bec96f3b0130b52211:/data/glr.c?ds=sidebyside diff --git a/data/glr.c b/data/glr.c index b775d842..e946a02b 100644 --- a/data/glr.c +++ b/data/glr.c @@ -146,7 +146,6 @@ b4_copyright([Skeleton parser for GLR parsing with Bison], [2002]) [ /* This is the parser code for GLR (Generalized LR) parser. */ -#include #include #include #include @@ -188,7 +187,7 @@ b4_pre_prologue[ ]m4_ifdef([b4_stype], [b4_syncline([b4_stype_line], [b4_filename]) typedef union b4_stype yystype; -/* Line __line__ of __file__. */ +/* Line __line__ of glr.c. */ b4_syncline([@oline@], [@ofile@])], [typedef int yystype;])[ # define YYSTYPE yystype @@ -218,7 +217,7 @@ static YYLTYPE yyloc_default; /* Copy the second part of user declarations. */ ]b4_post_prologue[ -]/* Line __line__ of __file__. */ +]/* Line __line__ of glr.c. */ b4_syncline([@oline@], [@ofile@]) [ #if ! defined (__cplusplus) @@ -672,7 +671,7 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, # undef YYBACKUP # undef yyclearin # undef YYRECOVERING -/* Line __line__ of __file__. */ +/* Line __line__ of glr.c. */ b4_syncline([@oline@], [@ofile@]) } @@ -730,10 +729,10 @@ yydefaultAction (yyStateNum yystate) return yydefact[yystate]; } -#define yyis_table_ninf(yyindex) \ +#define yyis_table_ninf(yytable_value) \ ]m4_if(m4_eval(b4_table_ninf < b4_table_min), 1, 0, - ((yyindex) == YYTABLE_NINF))[ + ((yytable_value) == YYTABLE_NINF))[ /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN. * Result R means @@ -753,7 +752,7 @@ yygetLRActions (yyStateNum yystate, int yytoken, *yyaction = -yydefact[yystate]; *yyconflicts = yyconfl; } - else if (! yyis_table_ninf (yyindex)) + else if (! yyis_table_ninf (yytable[yyindex])) { *yyaction = yytable[yyindex]; *yyconflicts = yyconfl + yyconflp[yyindex]; @@ -1038,7 +1037,8 @@ yydoAction (yyGLRStack* yystack, int yyk, yyRuleNum yyrule, { /* Standard special case: single stack. */ yyGLRStackItem* rhs = (yyGLRStackItem*) yystack->yytops.yystates[yyk]; - assert (yyk == 0); + if (yyk != 0) + abort (); yystack->yynextFree -= yynrhs; yystack->yyspaceLeft += yynrhs; yystack->yytops.yystates[0] = & yystack->yynextFree[-1].yystate; @@ -1063,7 +1063,8 @@ yydoAction (yyGLRStack* yystack, int yyk, yyRuleNum yyrule, for (yyi = yynrhs-1, yys = yystack->yytops.yystates[yyk]; 0 <= yyi; yyi -= 1, yys = yys->yypred) { - assert (yys->yypred != NULL); + if (! yys->yypred) + abort (); yyrhsVals[yyi].yystate.yyresolved = yytrue; yyrhsVals[yyi].yystate.yysemantics.yysval = yys->yysemantics.yysval; yyrhsVals[yyi].yystate.yyloc = yys->yyloc; @@ -1102,8 +1103,9 @@ static inline void yy_reduce_print (size_t yyk, yyRuleNum yyrule) { int yyi; - YYFPRINTF (stderr, "Reducing stack %d by rule %d (line %d), ", - yyk, yyrule - 1, yyrline[yyrule]); + unsigned int yylineno = yyrline[yyrule]; + YYFPRINTF (stderr, "Reducing stack %d by rule %d (line %u), ", + yyk, yyrule - 1, yylineno); /* Print the symbols being reduced, and their result. */ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) YYFPRINTF (stderr, "%s ", yytokenName (yyrhs[yyi])); @@ -1151,7 +1153,8 @@ yyglrReduce (yyGLRStack* yystack, size_t yyk, yyRuleNum yyrule, 0 < yyn; yyn -= 1) { yys = yys->yypred; - assert (yys != NULL); + if (! yys) + abort (); } yyupdateSplit (yystack, yys); yynewLRState = yyLRgotoState (yys->yylrState, yylhsNonterm (yyrule)); @@ -1188,7 +1191,8 @@ yysplitStack (yyGLRStack* yystack, int yyk) { if (yystack->yysplitPoint == NULL) { - assert (yyk == 0); + if (yyk != 0) + abort (); yystack->yysplitPoint = yystack->yytops.yystates[yyk]; } if (yystack->yytops.yysize >= yystack->yytops.yycapacity) @@ -1286,7 +1290,8 @@ yyresolveStates (yyGLRState* yys, int yyn, yyGLRStack* yystack]b4_user_formals[) YYRESULTTAG yyflag; if (0 < yyn) { - assert (yys->yypred != NULL); + if (! yys->yypred) + abort (); yyflag = yyresolveStates (yys->yypred, yyn-1, yystack]b4_user_args[); if (yyflag != yyok) return yyflag; @@ -1316,7 +1321,8 @@ yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystack, for (yyi = yynrhs-1, yys = yyopt->yystate; 0 <= yyi; yyi -= 1, yys = yys->yypred) { - assert (yys->yypred != NULL); + if (! yys->yypred) + abort (); yyrhsVals[yyi].yystate.yyresolved = yytrue; yyrhsVals[yyi].yystate.yysemantics.yysval = yys->yysemantics.yysval; yyrhsVals[yyi].yystate.yyloc = yys->yyloc; @@ -1508,7 +1514,8 @@ yyprocessOneStack (yyGLRStack* yystack, int yyk, yyStateNum yystate = yystack->yytops.yystates[yyk]->yylrState; YYDPRINTF ((stderr, "Stack %d Entering state %d\n", yyk, yystate)); - assert (yystate != YYFINAL); + if (yystate == YYFINAL) + abort (); if (yyisDefaultedState (yystate)) { yyrule = yydefaultAction (yystate); @@ -1952,7 +1959,7 @@ b4_token_defines(b4_tokens) m4_ifdef([b4_stype], [b4_syncline([b4_stype_line], [b4_filename]) typedef union b4_stype yystype; -/* Line __line__ of __file__. */ +/* Line __line__ of glr.c. */ b4_syncline([@oline@], [@ofile@])], [typedef int yystype;]) # define YYSTYPE yystype