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/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
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 '-' '+'
line:
'\n'
-| exp '\n'
+| exp '\n' {}
;
exp:
if (c == '.' || isdigit (c))
{
yyungetc (c);
- yylval = read_signed_integer ();
+ yylval.ival = read_signed_integer ();
return NUM;
}
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. ##
## ----------------- ##