* data/glr.c, yacc.c (YYDSYMPRINT): Remove, not used.
authorAkim Demaille <akim@epita.fr>
Thu, 2 Sep 2004 14:27:02 +0000 (14:27 +0000)
committerAkim Demaille <akim@epita.fr>
Thu, 2 Sep 2004 14:27:02 +0000 (14:27 +0000)
(YYDSYMPRINTF): Rename as...
(YY_SYMBOL_PRINT): this.
* data/lalr1.cc (YY_SYMBOL_PRINT): New, modeled after the previous
two.
Use it instead of direct symprint_ calls.
(yybackup): Tweak the "Now at end of input" case to match yacc.c's
one.

ChangeLog
data/glr.c
data/lalr1.cc
data/yacc.c

index 5e3699f..2c84e58 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2004-09-02  Akim Demaille  <akim@epita.fr>
 
+       * data/glr.c, yacc.c (YYDSYMPRINT): Remove, not used.
+       (YYDSYMPRINTF): Rename as...
+       (YY_SYMBOL_PRINT): this.
+       * data/lalr1.cc (YY_SYMBOL_PRINT): New, modeled after the previous
+       two.
+       Use it instead of direct symprint_ calls.
+       (yybackup): Tweak the "Now at end of input" case to match yacc.c's
+       one.
+
+2004-09-02  Akim Demaille  <akim@epita.fr>
+
        * data/lalr1.cc (b4_yysymprint_generate): New.
        (symprint_): New member function, defined when YYDEBUG.
        Use it consistently instead of token/nterm debugging output by
index e82282d..883c248 100644 (file)
@@ -479,19 +479,13 @@ do {                                              \
 
 ]b4_yysymprint_generate([b4_c_ansi_function_def])[
 
-# define YYDSYMPRINT(Args)                     \
-do {                                           \
-  if (yydebug)                                 \
-    yysymprint Args;                           \
-} while (0)
-
-# define YYDSYMPRINTF(Title, Token, Value, Location)           \
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)         \
 do {                                                           \
   if (yydebug)                                                 \
     {                                                          \
       YYFPRINTF (stderr, "%s ", Title);                                \
       yysymprint (stderr,                                      \
-                  Token, Value]b4_location_if([, Location])[); \
+                  Type, Value]b4_location_if([, Location])[);  \
       YYFPRINTF (stderr, "\n");                                        \
     }                                                          \
 } while (0)
@@ -502,10 +496,8 @@ int yydebug;
 
 #else /* !YYDEBUG */
 
-  /* Avoid empty `if' bodies.  */
 # define YYDPRINTF(Args)
-# define YYDSYMPRINT(Args)
-# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 
 #endif /* !YYDEBUG */
 
@@ -1568,7 +1560,7 @@ yyprocessOneStack (yyGLRStack* yystack, int yyk,
              YYDPRINTF ((stderr, "Reading a token: "));
              yychar = YYLEX;
              *yytokenp = YYTRANSLATE (yychar);
-             YYDSYMPRINTF ("Next token is", *yytokenp, yylvalp, yyllocp);
+             YY_SYMBOL_PRINT ("Next token is", *yytokenp, yylvalp, yyllocp);
            }
          yygetLRActions (yystate, *yytokenp, &yyaction, &yyconflicts);
 
@@ -1706,9 +1698,9 @@ yyrecoverSyntaxError (yyGLRStack* yystack,
            while (yystack->yytops.yystates[0] != NULL)
              {
                yyGLRState *yys = yystack->yytops.yystates[0];
-               YYDSYMPRINTF ("Error: popping",
-                             yystos[yys->yylrState],
-                             &yys->yysemantics.yysval, &yys->yyloc);
+               YY_SYMBOL_PRINT ("Error: popping",
+                                yystos[yys->yylrState],
+                                &yys->yysemantics.yysval, &yys->yyloc);
                yydestruct (yystos[yys->yylrState],
                            &yys->yysemantics.yysval]b4_location_if([, &yys->yyloc])[);
                yystack->yytops.yystates[0] = yys->yypred;
@@ -1719,13 +1711,13 @@ yyrecoverSyntaxError (yyGLRStack* yystack,
          }
        if (*yytokenp != YYEMPTY)
          {
-           YYDSYMPRINTF ("Error: discarding", *yytokenp, yylvalp, yyllocp);
+           YY_SYMBOL_PRINT ("Error: discarding", *yytokenp, yylvalp, yyllocp);
            yydestruct (*yytokenp, yylvalp]b4_location_if([, yyllocp])[);
          }
        YYDPRINTF ((stderr, "Reading a token: "));
        yychar = YYLEX;
        *yytokenp = YYTRANSLATE (yychar);
-       YYDSYMPRINTF ("Next token is", *yytokenp, yylvalp, yyllocp);
+       YY_SYMBOL_PRINT ("Next token is", *yytokenp, yylvalp, yyllocp);
        yyj = yypact[yystack->yytops.yystates[0]->yylrState];
        if (yyis_pact_ninf (yyj))
          return;
@@ -1768,9 +1760,9 @@ yyrecoverSyntaxError (yyGLRStack* yystack,
              break;
            }
        }
-      YYDSYMPRINTF ("Error: popping",
-                   yystos[yys->yylrState],
-                   &yys->yysemantics.yysval, &yys->yyloc);
+      YY_SYMBOL_PRINT ("Error: popping",
+                      yystos[yys->yylrState],
+                      &yys->yysemantics.yysval, &yys->yyloc);
       yydestruct (yystos[yys->yylrState],
                  &yys->yysemantics.yysval]b4_location_if([, &yys->yyloc])[);
       yystack->yytops.yystates[0] = yys->yypred;
@@ -1863,7 +1855,7 @@ yyrecoverSyntaxError (yyGLRStack* yystack,
                  YYDPRINTF ((stderr, "Reading a token: "));
                  yychar = YYLEX;
                  yytoken = YYTRANSLATE (yychar);
-                  YYDSYMPRINTF ("Next token is", yytoken, yylvalp, yyllocp);
+                  YY_SYMBOL_PRINT ("Next token is", yytoken, yylvalp, yyllocp);
                }
              yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
              if (*yyconflicts != 0)
index b07cb19..3ab08b2 100644 (file)
@@ -316,8 +316,8 @@ namespace yy
 
     /* Even more tables.  */
     static inline TokenNumberType translate_ (int token);
-    static inline void destruct_ (int yytype, SemanticType *yyvaluep,
-                                 LocationType *yylocationp);
+    inline void destruct_ (int yytype, SemanticType *yyvaluep,
+                          LocationType *yylocationp);
 
     /* Constants.  */
     static const int eof_;
@@ -378,21 +378,40 @@ m4_if(b4_defines_flag, 0, [], [#include @output_header_name@])[
 
 /* Enable debugging if requested.  */
 #if YYDEBUG
-# define YYCDEBUG    if (debug_) cdebug_
+
+# define YYCDEBUG                              \
+  if (debug_)                                  \
+    cdebug_
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do {                                                   \
+  if (debug_)                                          \
+    {                                                  \
+      cdebug_ << (Title) << ' ';                       \
+      symprint_ ((Type), (Value), (Location));         \
+      cdebug_ << std::endl;                            \
+    }                                                  \
+} while (0)
+
 # define YY_REDUCE_PRINT(Rule)         \
 do {                                   \
   if (debug_)                          \
     reduce_print_ (Rule);              \
 } while (0)
+
 # define YY_STACK_PRINT()              \
 do {                                   \
   if (debug_)                          \
     stack_print_ ();                   \
 } while (0)
+
 #else /* !YYDEBUG */
+
 # define YYCDEBUG    if (0) cdebug_
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YY_REDUCE_PRINT(Rule)
 # define YY_STACK_PRINT()
+
 #endif /* !YYDEBUG */
 
 #define YYACCEPT       goto yyacceptlab
@@ -448,23 +467,15 @@ yy::]b4_parser_class_name[::parse ()
     }
 
   /* Convert token to internal form.  */
-  if (looka_ <= 0)
+  if (looka_ <= eof_)
     {
-      looka_ = eof_;
-      ilooka_ = 0;
+      looka_ = ilooka_ = eof_;
       YYCDEBUG << "Now at end of input." << std::endl;
     }
   else
     {
       ilooka_ = translate_ (looka_);
-#if YYDEBUG
-      if (debug_)
-       {
-         cdebug_ << "Next token is ";
-         symprint_ (ilooka_, &value, &location);
-          cdebug_ << std::endl;
-       }
-#endif
+      YY_SYMBOL_PRINT ("Next token is", ilooka_, &value, &location);
     }
 
   /* If the proper action on seeing token ILOOKA_ is to reduce or to
@@ -579,7 +590,7 @@ b4_syncline([@oline@], [@ofile@])[
 /*------------------------------------.
 | yyerrlab -- here on detecting error |
 `------------------------------------*/
- yyerrlab:
+yyerrlab:
   /* If not already recovering from an error, report this error.  */
   report_syntax_error_ ();
 
@@ -603,31 +614,18 @@ b4_syncline([@oline@], [@ofile@])[
                  location_stack_.pop ();
                 if (state_stack_.height () == 1)
                   YYABORT;
-#if YYDEBUG
-                 if (debug_)
-                   {
-                     cdebug_ << "Error: popping ";
-                     symprint_ (stos_[state_stack_[0]],
-                                &semantic_stack_[0],
-                               &location_stack_[0]);
-                     cdebug_ << std::endl;
-                   }
-#endif // YYDEBUG
-                destruct_ (stos_[state_stack_[0]],
+                 YY_SYMBOL_PRINT ("Error: popping",
+                                  stos_[state_stack_[0]],
+                                  &semantic_stack_[0],
+                                 &location_stack_[0]);
+                 destruct_ (stos_[state_stack_[0]],
                             &semantic_stack_[0],
                             &location_stack_[0]);
               }
         }
       else
         {
-#if YYDEBUG
-          if (debug_)
-            {
-              cdebug_ << "Error: discarding ";
-              symprint_ (ilooka_, &value, &location);
-              cdebug_ << std::endl;
-            }
-#endif
+          YY_SYMBOL_PRINT ("Error: discarding", ilooka_, &value, &location);
           destruct_ (ilooka_, &value, &location);
           looka_ = empty_;
         }
@@ -681,14 +679,9 @@ yyerrlab1:
       if (state_stack_.height () == 1)
        YYABORT;
 
-#if YYDEBUG
-      if (debug_)
-       {
-          cdebug_ << "Error: popping ";
-          symprint_ (stos_[state_], &semantic_stack_[0], &location_stack_[0]);
-          cdebug_ << std::endl;
-       }
-#endif
+      YY_SYMBOL_PRINT ("Error: popping",
+                       stos_[state_],
+                       &semantic_stack_[0], &location_stack_[0]);
       destruct_ (stos_[state_], &semantic_stack_[0], &location_stack_[0]);
       error_start_ = location_stack_[0].begin;
 
@@ -716,11 +709,11 @@ yyerrlab1:
   goto yynewstate;
 
   /* Accept.  */
- yyacceptlab:
+yyacceptlab:
   return 0;
 
   /* Abort.  */
- yyabortlab:
+yyabortlab:
   return 1;
 }
 
index c7415e2..78fae04 100644 (file)
@@ -537,19 +537,13 @@ do {                                              \
     YYFPRINTF Args;                            \
 } while (0)
 
-# define YYDSYMPRINT(Args)                     \
-do {                                           \
-  if (yydebug)                                 \
-    yysymprint Args;                           \
-} while (0)
-
-# define YYDSYMPRINTF(Title, Token, Value, Location)           \
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)         \
 do {                                                           \
   if (yydebug)                                                 \
     {                                                          \
       YYFPRINTF (stderr, "%s ", Title);                                \
       yysymprint (stderr,                                      \
-                  Token, Value]b4_location_if([, Location])[); \
+                  Type, Value]b4_location_if([, Location])[);  \
       YYFPRINTF (stderr, "\n");                                        \
     }                                                          \
 } while (0)
@@ -604,8 +598,7 @@ do {                                        \
 int yydebug;
 #else /* !YYDEBUG */
 # define YYDPRINTF(Args)
-# define YYDSYMPRINT(Args)
-# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YY_STACK_PRINT(Bottom, Top)
 # define YY_REDUCE_PRINT(Rule)
 #endif /* !YYDEBUG */
@@ -932,7 +925,7 @@ yybackup:
   else
     {
       yytoken = YYTRANSLATE (yychar);
-      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
     }
 
   /* If the proper action on seeing token YYTOKEN is to reduce or to
@@ -1121,13 +1114,14 @@ yyerrlab:
                 YYPOPSTACK;
                 if (yyssp == yyss)
                   YYABORT;
-                YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+                YY_SYMBOL_PRINT ("Error: popping",
+                                 yystos[*yyssp], yyvsp, yylsp);
                 yydestruct (yystos[*yyssp], yyvsp]b4_location_if([, yylsp])[);
               }
         }
       else
        {
-         YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+         YY_SYMBOL_PRINT ("Error: discarding", yytoken, &yylval, &yylloc);
          yydestruct (yytoken, &yylval]b4_location_if([, &yylloc])[);
          yychar = YYEMPTY;
 ]b4_location_if([        *++yylerrsp = yylloc;])[
@@ -1184,7 +1178,7 @@ yyerrlab1:
       if (yyssp == yyss)
        YYABORT;
 
-      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+      YY_SYMBOL_PRINT ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
       yydestruct (yystos[yystate], yyvsp]b4_location_if([, yylsp])[);
       YYPOPSTACK;
       yystate = *yyssp;