* tests/calc.at (_AT_DATA_CALC_Y): Also use %union.
authorAkim Demaille <akim@epita.fr>
Sat, 29 Dec 2001 14:18:08 +0000 (14:18 +0000)
committerAkim Demaille <akim@epita.fr>
Sat, 29 Dec 2001 14:18:08 +0000 (14:18 +0000)
In addition, put a comment in there, to replace...
* tests/regression.at (%union and C comments): Remove.

ChangeLog
tests/calc.at
tests/regression.at

index d962426..3819812 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2001-12-29  Akim Demaille  <akim@epita.fr>
 
+       * tests/calc.at (_AT_DATA_CALC_Y): Also use %union.
+       In addition, put a comment in there, to replace...
+       * tests/regression.at (%union and C comments): Remove.
+
+       
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
        * tests/regression.at (Web2c Actions): Blindly move the actual
        output as expected output.  The contents *seem* right to me, but I
        can't pretend reading perfectly parser tables...  Nonetheless, all
index db308df..d12fffc 100644 (file)
@@ -63,9 +63,16 @@ static void yyungetc (int c);
 extern void perror (const char *s);
 %}
 
+/* Also exercise %union. */
+%union
+{
+  int ival; /* A comment to exercise an old bug. */
+};
+
 /* Bison Declarations */
 %token CALC_EOF 0 "end of file"
-%token NUM "number"
+%token <ival> NUM "number"
+%type  <ival> exp
 
 %nonassoc '=' /* comparison           */
 %left '-' '+'
@@ -84,7 +91,7 @@ input:
 
 line:
   '\n'
-| exp '\n'
+| exp '\n' {}
 ;
 
 exp:
@@ -205,7 +212,7 @@ yylex (void)
   if (c == '.' || isdigit (c))
     {
       yyungetc (c);
-      yylval = read_signed_integer ();
+      yylval.ival = read_signed_integer ();
       return NUM;
     }
 
index d6c2fca..9d55cf6 100644 (file)
@@ -500,29 +500,6 @@ AT_CHECK([bison --defines input.y])
 AT_CLEANUP
 
 
-## --------------------------------------- ##
-## Duplicate '/' in C comments in %union   ##
-## --------------------------------------- ##
-
-
-AT_SETUP([%union and C comments])
-
-AT_DATA([input.y],
-[%union
-{
-  /* The int.  */      int   integer;
-  /* The string.  */   char *string ;
-}
-%%
-exp: {};
-])
-
-AT_CHECK([bison input.y -o input.c])
-AT_CHECK([fgrep '//*' input.c], [1], [])
-
-AT_CLEANUP
-
-
 ## ----------------- ##
 ## Invalid input 1.  ##
 ## ----------------- ##