]> git.saurik.com Git - bison.git/commitdiff
* data/glr.c: Formatting changes.
authorAkim Demaille <akim@epita.fr>
Sun, 13 Oct 2002 14:25:55 +0000 (14:25 +0000)
committerAkim Demaille <akim@epita.fr>
Sun, 13 Oct 2002 14:25:55 +0000 (14:25 +0000)
Tweak some trace messages to match yacc.c's.

ChangeLog
data/glr.c

index aadd09704d7c78516438c0e9e935bf2e0605bb02..99f71fc2ef3b59a0b31727456feac6f9e08e55ff 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2002-10-13  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c: Formatting changes.
+       Tweak some trace messages to match yacc.c's.
+
 2002-10-13  Akim Demaille  <akim@epita.fr>
 
        GLR parsers sometimes raise parse errors instead of performing the
index a9573ed776539755e18ac0ea91d79c5ad937a5b3..680d12079d5f96c3d43089c9e6970f49b5b79797 100644 (file)
@@ -693,7 +693,7 @@ yydefaultAction (yyStateNum yystate)
   return yydefact[yystate];
 }
 
-/** Set *ACTION to the action to take in STATE on seeing TOKEN.
+/** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
  *  Result R means
  *    R < 0:  Reduce on rule -R.
  *    R = 0:  Error.
@@ -1069,13 +1069,25 @@ yyglrReduce (yyGLRStack* yystack, size_t yyk, yyRuleNum yyrule,
       YYSTYPE yysval;
       YYLTYPE yyloc;
 
+#if YYDEBUG
+      if (yydebug)
+       {
+         int yyi;
+         YYDPRINTF ((stderr, "Reducing stack %d by rule %d (line %d),",
+                     yyk, yyrule - 1, yyrline[yyrule]));
+         /* Print the symbols being reduced, and their result.  */
+         for (yyi = yyprhs[yyrule]; yyrhs[yyi] >= 0; yyi++)
+           YYFPRINTF (stderr, "%s ", yytokenName (yyrhs[yyi]));
+         YYFPRINTF (stderr, " -> %s\n", yytokenName (yyr1[yyrule]));
+       }
+#endif
       YYCHK (yydoAction (yystack, yyk, yyrule, &yysval, &yyloc));
       yyglrShift (yystack, yyk,
                  yyLRgotoState (yystack->yytops.yystates[yyk]->yylrState,
                                 yylhsNonterm (yyrule)),
                yyposn, yysval, &yyloc);
-      YYDPRINTF ((stderr, "Reduced stack %d by rule #%d. Now in state %d.\n",
-                 yyk, yyrule-1, yystack->yytops.yystates[yyk]->yylrState));
+      YYDPRINTF ((stderr, "Stack %d entering state %d\n",
+                 yyk, yystack->yytops.yystates[yyk]->yylrState));
     }
   else
     {
@@ -1454,9 +1466,11 @@ yyprocessOneStack (yyGLRStack* yystack, int yyk,
        {
          if (*yytokenp == YYEMPTY)
            {
+             YYDPRINTF ((stderr, "Reading a token: "));
              yychar = YYLEX;
              *yytokenp = YYTRANSLATE(yychar);
-             YYDPRINTF ((stderr, "Read token %s\n", yytokenName (*yytokenp)));
+             YYDPRINTF ((stderr, "Next token is %s\n",
+                         yytokenName (*yytokenp)));
            }
          yygetLRActions (yystate, *yytokenp, &yyaction, &yyconflicts);
 
@@ -1473,7 +1487,7 @@ yyprocessOneStack (yyGLRStack* yystack, int yyk,
 
          if (yyisShiftAction (yyaction))
            {
-             YYDPRINTF ((stderr, "Shifted token %s on stack %d, ",
+             YYDPRINTF ((stderr, "Shifting token %s on stack %d, ",
                          yytokenName (*yytokenp), yyk));
              yyglrShift (yystack, yyk, yyaction, yyposn+1, *yylvalp, yyllocp);
              YYDPRINTF ((stderr, "which is now in state #%d\n",
@@ -1559,21 +1573,22 @@ yyrecoverParseError (yyGLRStack* yystack, YYSTYPE* yylvalp, YYLTYPE* yyllocp)
   if (yystack->yyerrState == 0)
     yystack->yyerrState = 3;
   else if (yystack->yyerrState == 3)
-    {
-      /* We just shifted the error token and (perhaps) took some
-        reductions. Skip tokens until we can proceed. */
-      do {
+    /* We just shifted the error token and (perhaps) took some
+       reductions.  Skip tokens until we can proceed.  */
+    while (yytrue)
+      {
        if (*yytokenp == YYEOF)
          yyFail (yystack, NULL);
        if (*yytokenp != YYEMPTY)
          YYDPRINTF ((stderr, "Discarding token %s\n",
                      yytokenName (*yytokenp)));
+       YYDPRINTF ((stderr, "Reading a token: "));
        yychar = YYLEX;
        *yytokenp = YYTRANSLATE (yychar);
-       YYDPRINTF ((stderr, "Read token %s\n", yytokenName (*yytokenp)));
+       YYDPRINTF ((stderr, "Next token is %s\n", yytokenName (*yytokenp)));
        yyj = yypact[yystack->yytops.yystates[0]->yylrState];
        if (yyj == YYPACT_NINF)
-         /* Something's not right; we shouldn't be here */
+         /* Something's not right; we shouldn't be here */
          yyFail (yystack, NULL);
        yyj += *yytokenp;
        if (yyj < 0 || yyj > YYLAST || yycheck[yyj] != *yytokenp)
@@ -1583,10 +1598,9 @@ yyrecoverParseError (yyGLRStack* yystack, YYSTYPE* yylvalp, YYLTYPE* yyllocp)
          }
        else if (yytable[yyj] != 0 && yytable[yyj] != YYTABLE_NINF)
          return;
-      } while (yytrue);
-    }
+      }
 
-  /* Reduce to one stack */
+  /* Reduce to one stack */
   for (yyk = 0; yyk < yystack->yytops.yysize; yyk += 1)
     if (yystack->yytops.yystates[yyk] != NULL)
       break;
@@ -1652,6 +1666,8 @@ yyparse (YYPARSE_PARAM_ARG)
   yyinitGLRStack (&yystack, YYINITDEPTH);
   yystack.yytokenp = &yytoken;
 
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
   if (setjmp (yystack.yyexception_buffer) != 0)
     goto yyDone;
 
@@ -1689,9 +1705,10 @@ yyparse (YYPARSE_PARAM_ARG)
            {
              if (yytoken == YYEMPTY)
                {
+                 YYDPRINTF ((stderr, "Reading a token: "));
                  yychar = YYLEX;
                  yytoken = YYTRANSLATE (yychar);
-                 YYDPRINTF ((stderr, "Read token %s\n",
+                 YYDPRINTF ((stderr, "Next token is %s\n",
                              yytokenName (yytoken)));
                }
              yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
@@ -1699,7 +1716,7 @@ yyparse (YYPARSE_PARAM_ARG)
                break;
              if (yyisShiftAction (yyaction))
                {
-                 YYDPRINTF ((stderr, "Shifted token %s. ",
+                 YYDPRINTF ((stderr, "Shifting token %s, ",
                              yytokenName (yytoken)));
                  if (yytoken != YYEOF)
                    yytoken = YYEMPTY;
@@ -1707,7 +1724,7 @@ yyparse (YYPARSE_PARAM_ARG)
                  yyglrShift (&yystack, 0, yyaction, yyposn, yylval, yyllocp);
                  if (yystack.yyerrState > 0)
                    yystack.yyerrState -= 1;
-                 YYDPRINTF ((stderr, "Now in state #%d\n",
+                 YYDPRINTF ((stderr, "Entering state %d\n",
                              yystack.yytops.yystates[0]->yylrState));
                }
              else if (yyisErrorAction (yyaction))