]> git.saurik.com Git - bison.git/commitdiff
Get rid of yyrhs and yyprhs in glr.c.
authorAkim Demaille <demaille@gostai.com>
Tue, 25 Nov 2008 19:51:19 +0000 (20:51 +0100)
committerAkim Demaille <demaille@gostai.com>
Tue, 25 Nov 2008 22:11:34 +0000 (23:11 +0100)
* data/glr.c (yyrhs, yyprhs): Remove.
Instead, use the state stack and yystos.

ChangeLog
data/glr.c

index ae87722f47f53fe2d6c0af40e1d90680cd686718..8cf0340c51e824d68faa1ec952afd90327f5a716 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       Get rid of yyrhs and yyprhs in glr.c.
+       * data/glr.c (yyrhs, yyprhs): Remove.
+       Instead, use the state stack and yystos.
+
 2008-11-25  Akim Demaille  <demaille@gostai.com>
 
        Flag glr tests.
index 7c65eac7560c934450a12a67b4f6b777b782653f..71c7f52b7a908e0300ad4cdf8d80666ffb7c4033 100644 (file)
@@ -367,19 +367,6 @@ static const ]b4_int_type_for([b4_translate])[ yytranslate[] =
 };
 
 #if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
-   YYRHS.  */
-static const ]b4_int_type_for([b4_prhs])[ yyprhs[] =
-{
-  ]b4_prhs[
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
-static const ]b4_int_type_for([b4_rhs])[ yyrhs[] =
-{
-  ]b4_rhs[
-};
-
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const ]b4_int_type_for([b4_rline])[ yyrline[] =
 {
@@ -1453,7 +1440,8 @@ yy_reduce_print (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
   for (yyi = 0; yyi < yynrhs; yyi++)
     {
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
-      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+      yy_symbol_print (stderr,
+                       ]yystos@{b4_rhs_data(yynrhs, yyi + 1).yylrState@}[,
                       &]b4_rhs_value(yynrhs, yyi + 1)[
                       ]b4_locations_if([, &]b4_rhs_location(yynrhs, yyi + 1))[]dnl
                       b4_user_args[);
@@ -1782,11 +1770,11 @@ yyreportTree (yySemanticOption* yyx, int yyindent)
        {
          if (yystates[yyi-1]->yyposn+1 > yystates[yyi]->yyposn)
            YYFPRINTF (stderr, "%*s%s <empty>\n", yyindent+2, "",
-                      yytokenName (yyrhs[yyprhs[yyx->yyrule]+yyi-1]));
+                      yytokenName (yystos[yystates[yyi-1]->yylrState]));
          else
            YYFPRINTF (stderr, "%*s%s <tokens %lu .. %lu>\n", yyindent+2, "",
-                      yytokenName (yyrhs[yyprhs[yyx->yyrule]+yyi-1]),
-                      (unsigned long int) (yystates[yyi - 1]->yyposn + 1),
+                      yytokenName (yystos[yystates[yyi-1]->yylrState]),
+                      (unsigned long int) (yystates[yyi-1]->yyposn + 1),
                       (unsigned long int) yystates[yyi]->yyposn);
        }
       else