mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 01:33:03 +00:00
* data/glr.c (yy_reduce_print): The loop was quite wrong: type are
from 1 to N, while values and location start at 0. (b4_rhs_location, b4_rhs_value): Add parens around $1 and $2.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2005-11-14 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
|
* data/glr.c (yy_reduce_print): The loop was quite wrong: type are
|
||||||
|
from 1 to N, while values and location start at 0.
|
||||||
|
(b4_rhs_location, b4_rhs_value): Add parens around $1 and $2.
|
||||||
|
|
||||||
2005-11-14 Akim Demaille <akim@epita.fr>
|
2005-11-14 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
* data/glr.c (yy_reduce_print): Fix the $ number.
|
* data/glr.c (yy_reduce_print): Fix the $ number.
|
||||||
|
|||||||
11
data/glr.c
11
data/glr.c
@@ -116,7 +116,7 @@ m4_define([b4_lhs_value],
|
|||||||
# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
|
# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
|
||||||
# symbols on RHS.
|
# symbols on RHS.
|
||||||
m4_define([b4_rhs_value],
|
m4_define([b4_rhs_value],
|
||||||
[(((yyGLRStackItem const *)yyvsp)@{YYFILL ($2 - $1)@}.yystate.yysemantics.yysval[]m4_ifval([$3], [.$3]))])
|
[(((yyGLRStackItem const *)yyvsp)@{YYFILL (($2) - ($1))@}.yystate.yysemantics.yysval[]m4_ifval([$3], [.$3]))])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ m4_define([b4_lhs_location],
|
|||||||
# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
|
# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
|
||||||
# on RHS.
|
# on RHS.
|
||||||
m4_define([b4_rhs_location],
|
m4_define([b4_rhs_location],
|
||||||
[(((yyGLRStackItem const *)yyvsp)@{YYFILL ($2 - $1)@}.yystate.yyloc)])
|
[(((yyGLRStackItem const *)yyvsp)@{YYFILL (($2) - ($1))@}.yystate.yyloc)])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1382,14 +1382,13 @@ yy_reduce_print (yyGLRStack* yystack, size_t yyk, yyRuleNum yyrule,
|
|||||||
[ YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n",
|
[ YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n",
|
||||||
(unsigned long int) yyk, yyrule - 1,
|
(unsigned long int) yyk, yyrule - 1,
|
||||||
(unsigned long int) yyrline[yyrule]);
|
(unsigned long int) yyrline[yyrule]);
|
||||||
/* Print the symbols being reduced, and their result. */
|
/* The symbols being reduced. */
|
||||||
//for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
|
|
||||||
for (yyi = 0; yyi < yynrhs; yyi++)
|
for (yyi = 0; yyi < yynrhs; yyi++)
|
||||||
{
|
{
|
||||||
fprintf (stderr, " $%d = ", yyi + 1);
|
fprintf (stderr, " $%d = ", yyi + 1);
|
||||||
yysymprint (stderr, yyrhs[yyprhs[yyrule] + yyi],
|
yysymprint (stderr, yyrhs[yyprhs[yyrule] + yyi],
|
||||||
&]b4_rhs_value(yynrhs, yyi)[
|
&]b4_rhs_value(yynrhs, yyi - 1)[
|
||||||
]b4_location_if([, &]b4_rhs_location(yynrhs, yyi))[]dnl
|
]b4_location_if([, &]b4_rhs_location(yynrhs, yyi - 1))[]dnl
|
||||||
b4_user_args[);
|
b4_user_args[);
|
||||||
fprintf (stderr, "\n");
|
fprintf (stderr, "\n");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user