]> git.saurik.com Git - bison.git/blobdiff - tests/calc.at
* src/gram.c (rprec, rprecsym, rassoc): Remove, unused since long
[bison.git] / tests / calc.at
index 49cf4e2325c209f8208a473b7f0eab603d08ed09..d12fffc9c9a66e1f08940ea882e282873c214f1e 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;
     }
 
@@ -371,7 +378,7 @@ _AT_CHECK_CALC([$1],
 1 - (2 - 3) = 2
 
 2^2^3 = 256
-(2^2)^3 = 64], [488])
+(2^2)^3 = 64], [486])
 
 # Some parse errors.
 _AT_CHECK_CALC_ERROR([$1], [0 0], [10],