bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FYI: Generalize the display of values and locations in reductions


From: Paul Eggert
Subject: Re: FYI: Generalize the display of values and locations in reductions
Date: Fri, 18 Nov 2005 11:38:06 -0800
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux)

<http://lists.gnu.org/archive/html/bison-patches/2005-11/msg00022.html>
broke "make check" in several places.  I installed the following to
fix the obvious typos in yacc.c, and to suppress the stdout-count
checks for now.

2005-11-18  Paul Eggert  <address@hidden>

        * data/yacc.c (yy_reduce_print, YY_REDUCE_PRINT):
        Fix typos in previous change that broke 'make check'.
        YY_REDUCE_PRINT cannot be a pseudo-varargs macro; that isn't
        supported in C.
        * tests/calc.at (_AT_CHECK_CALC,_AT_CHECK_CALC_ERROR):
        Don't check NUM-STDERR-LINES, since the output format is fluctuating.
        We can revert this once things settle down.

--- data/yacc.c 16 Nov 2005 14:20:48 -0000      1.117
+++ data/yacc.c 18 Nov 2005 19:35:23 -0000
@@ -668,9 +668,9 @@ do {                                                        
        \
 `------------------------------------------------*/
 
 ]b4_c_function_def([yy_reduce_print], [static void],
-                   [[YYSTYPE *yyvsp], [yyvsvp]],
-   b4_location_if([[[YYLTYPE *yylsp], [yyvlvp]],])
-                   [[int yyrule],     [yyrule]]
+                   [[YYSTYPE *yyvsp], [yyvsp]],
+    b4_location_if([[[YYLTYPE *yylsp], [yylsp]],])
+                  [[int yyrule], [yyrule]]m4_ifset([b4_parse_param], [,])
                    b4_parse_param)[
 {
   int yynrhs = yyr2[yyrule];
@@ -690,10 +690,10 @@ do {                                                      
        \
     }
 }
 
-# define YY_REDUCE_PRINT(Args)                                 \
-do {                                                           \
-  if (yydebug)                                                 \
-    yy_reduce_print (yyvsp, ]b4_location_if([yylsp, ])[Args);  \
+# define YY_REDUCE_PRINT(Rule)         \
+do {                                   \
+  if (yydebug)                         \
+    yy_reduce_print (yyvsp, ]b4_location_if([yylsp, ])[Rule]b4_user_args[); \
 } while (/*CONSTCOND*/ 0)
 
 /* Nonzero means print parse trace.  It is left uninitialized so that
@@ -703,7 +703,7 @@ int yydebug;
 # define YYDPRINTF(Args)
 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YY_STACK_PRINT(Bottom, Top)
-# define YY_REDUCE_PRINT(Args)
+# define YY_REDUCE_PRINT(Rule)
 #endif /* !YYDEBUG */
 
 
@@ -1261,7 +1261,7 @@ yyreduce:
 ]b4_location_if(
 [[  /* Default location. */
   YYLLOC_DEFAULT (yyloc, yylsp - yylen, yylen);]])[
-  YY_REDUCE_PRINT ((yyn]b4_user_args[));
+  YY_REDUCE_PRINT (yyn);
   switch (yyn)
     {
       ]b4_actions[
--- tests/calc.at       16 Nov 2005 14:20:48 -0000      1.82
+++ tests/calc.at       18 Nov 2005 19:35:23 -0000
@@ -340,12 +340,14 @@ m4_define([AT_DATA_CALC_Y],
 
 
 
-# _AT_CHECK_CALC(BISON-OPTIONS, INPUT, [NUM-STDERR-LINES = 0])
-# ------------------------------------------------------------
+# _AT_CHECK_CALC(BISON-OPTIONS, INPUT, [NUM-STDERR-LINES])
+# --------------------------------------------------------
 # Run `calc' on INPUT and expect no STDOUT nor STDERR.
 #
 # If BISON-OPTIONS contains `%debug' but not `%glr-parser', then
+#
 # NUM-STDERR-LINES is the number of expected lines on stderr.
+# Currently this is ignored, though, since the output format is fluctuating.
 #
 # We don't count GLR's traces yet, since its traces are somewhat
 # different from LALR's.
@@ -354,17 +356,11 @@ m4_define([_AT_CHECK_CALC],
 [[$2
 ]])
 AT_PARSER_CHECK([./calc input], 0, [], [stderr])
-m4_bmatch([$1],
-  [%debug.*%glr\|%glr.*%debug],
-     [],
-  [%debug],
-     [AT_CHECK([wc -l <stderr | sed 's/[[^0-9]]//g'], 0, [$3
-])])
 ])
 
 
 # _AT_CHECK_CALC_ERROR(BISON-OPTIONS, EXIT-STATUS, INPUT,
-#                      [NUM-DEBUG-LINES],
+#                      [NUM-STDERR-LINES],
 #                      [VERBOSE-AND-LOCATED-ERROR-MESSAGE])
 # ---------------------------------------------------------
 # Run `calc' on INPUT, and expect a `syntax error' message.
@@ -372,6 +368,9 @@ m4_bmatch([$1],
 # If INPUT starts with a slash, it is used as absolute input file name,
 # otherwise as contents.
 #
+# NUM-STDERR-LINES is the number of expected lines on stderr.
+# Currently this is ignored, though, since the output format is fluctuating.
+#
 # If BISON-OPTIONS contains `%location', then make sure the ERROR-LOCATION
 # is correctly output on stderr.
 #
@@ -388,12 +387,6 @@ m4_define([_AT_CHECK_CALC_ERROR],
 [[$3
 ]])
 AT_PARSER_CHECK([./calc input], $2, [], [stderr])])
-m4_bmatch([$1],
-  [%debug.*%glr\|%glr.*%debug],
-     [],
-  [%debug],
-     [AT_CHECK([wc -l <stderr | sed 's/[[^0-9]]//g'], 0, [$4
-])])
 
 # Normalize the observed and expected error messages, depending upon the
 # options.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]