(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/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.
 2004-09-02  Akim Demaille  <akim@epita.fr>
 
        * data/lalr1.cc (b4_yysymprint_generate): New.
 
 
 ]b4_yysymprint_generate([b4_c_ansi_function_def])[
 
 
 ]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,                                      \
 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)
       YYFPRINTF (stderr, "\n");                                        \
     }                                                          \
 } while (0)
-  /* Avoid empty `if' bodies.  */
-# define YYDSYMPRINT(Args)
-# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
              YYDPRINTF ((stderr, "Reading a token: "));
              yychar = YYLEX;
              *yytokenp = YYTRANSLATE (yychar);
              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);
 
            }
          yygetLRActions (yystate, *yytokenp, &yyaction, &yyconflicts);
 
            while (yystack->yytops.yystates[0] != NULL)
              {
                yyGLRState *yys = yystack->yytops.yystates[0];
            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;
                yydestruct (yystos[yys->yylrState],
                            &yys->yysemantics.yysval]b4_location_if([, &yys->yyloc])[);
                yystack->yytops.yystates[0] = yys->yypred;
          }
        if (*yytokenp != YYEMPTY)
          {
          }
        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);
            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;
        yyj = yypact[yystack->yytops.yystates[0]->yylrState];
        if (yyis_pact_ninf (yyj))
          return;
-      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;
       yydestruct (yystos[yys->yylrState],
                  &yys->yysemantics.yysval]b4_location_if([, &yys->yyloc])[);
       yystack->yytops.yystates[0] = yys->yypred;
                  YYDPRINTF ((stderr, "Reading a token: "));
                  yychar = YYLEX;
                  yytoken = YYTRANSLATE (yychar);
                  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)
                }
              yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
              if (*yyconflicts != 0)
 
 
     /* Even more tables.  */
     static inline TokenNumberType translate_ (int token);
 
     /* 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_;
 
     /* Constants.  */
     static const int eof_;
 
 /* Enable debugging if requested.  */
 #if YYDEBUG
 
 /* 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_REDUCE_PRINT(Rule)         \
 do {                                   \
   if (debug_)                          \
     reduce_print_ (Rule);              \
 } while (0)
 # define YY_STACK_PRINT()              \
 do {                                   \
   if (debug_)                          \
     stack_print_ ();                   \
 } while (0)
 # define YY_STACK_PRINT()              \
 do {                                   \
   if (debug_)                          \
     stack_print_ ();                   \
 } while (0)
 # define YYCDEBUG    if (0) cdebug_
 # define YYCDEBUG    if (0) cdebug_
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YY_REDUCE_PRINT(Rule)
 # define YY_STACK_PRINT()
 # define YY_REDUCE_PRINT(Rule)
 # define YY_STACK_PRINT()
 #endif /* !YYDEBUG */
 
 #define YYACCEPT       goto yyacceptlab
 #endif /* !YYDEBUG */
 
 #define YYACCEPT       goto yyacceptlab
     }
 
   /* Convert token to internal form.  */
     }
 
   /* Convert token to internal form.  */
-      looka_ = eof_;
-      ilooka_ = 0;
+      looka_ = ilooka_ = eof_;
       YYCDEBUG << "Now at end of input." << std::endl;
     }
   else
     {
       ilooka_ = translate_ (looka_);
       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
     }
 
   /* If the proper action on seeing token ILOOKA_ is to reduce or to
 /*------------------------------------.
 | yyerrlab -- here on detecting error |
 `------------------------------------*/
 /*------------------------------------.
 | yyerrlab -- here on detecting error |
 `------------------------------------*/
   /* If not already recovering from an error, report this error.  */
   report_syntax_error_ ();
 
   /* If not already recovering from an error, report this error.  */
   report_syntax_error_ ();
 
                  location_stack_.pop ();
                 if (state_stack_.height () == 1)
                   YYABORT;
                  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
         {
                             &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_;
         }
           destruct_ (ilooka_, &value, &location);
           looka_ = empty_;
         }
       if (state_stack_.height () == 1)
        YYABORT;
 
       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;
 
       destruct_ (stos_[state_], &semantic_stack_[0], &location_stack_[0]);
       error_start_ = location_stack_[0].begin;
 
   goto yynewstate;
 
   /* Accept.  */
   goto yynewstate;
 
   /* Accept.  */
 
     YYFPRINTF Args;                            \
 } while (0)
 
     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,                                      \
 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)
       YYFPRINTF (stderr, "\n");                                        \
     }                                                          \
 } while (0)
 int yydebug;
 #else /* !YYDEBUG */
 # define YYDPRINTF(Args)
 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 */
 # define YY_STACK_PRINT(Bottom, Top)
 # define YY_REDUCE_PRINT(Rule)
 #endif /* !YYDEBUG */
   else
     {
       yytoken = YYTRANSLATE (yychar);
   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
     }
 
   /* If the proper action on seeing token YYTOKEN is to reduce or to
                 YYPOPSTACK;
                 if (yyssp == yyss)
                   YYABORT;
                 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
        {
                 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;])[
          yydestruct (yytoken, &yylval]b4_location_if([, &yylloc])[);
          yychar = YYEMPTY;
 ]b4_location_if([        *++yylerrsp = yylloc;])[
       if (yyssp == yyss)
        YYABORT;
 
       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;
       yydestruct (yystos[yystate], yyvsp]b4_location_if([, yylsp])[);
       YYPOPSTACK;
       yystate = *yyssp;