# Bison Regressions. -*- Autotest -*-
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
%}
[%token MYEOF 0 "end of file"
%token 'a' "a"
-%token b "b"
-%token c 'c'
-%token 'd' d
+%token B_TOKEN "b"
+%token C_TOKEN 'c'
+%token 'd' D_TOKEN
%%
exp: "a";
]])
#
# It used to be wrong on yydefact only:
#
-# static const short yydefact[] =
+# static const short int yydefact[] =
# {
# - 2, 0, 1, 0, 0, 2, 3, 2, 5, 4,
# + 2, 0, 1, 0, 0, 0, 3, 2, 5, 4,
"$end", "error", "$undefined", "\"if\"", "\"const\"", "\"then\"",
"\"else\"", "$accept", "statement", "struct_stat", "if", "else", 0
};
-static const unsigned short yytoknum[] =
+static const unsigned short int yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261
};
;
%%
AT_LALR1_CC_IF(
-[/* Currently, print_ is required in C++. */
+[/* A C++ error reporting function. */
void
-yy::Parser::print_ ()
+yy::parser::error (const location&, const std::string& m)
{
-}
-
-/* A C++ error reporting function. */
-void
-yy::Parser::error_ ()
-{
- std::cerr << message << std::endl;
+ std::cerr << m << std::endl;
}
int
-yyparse (void)
+yyparse ()
{
- yy::Parser parser (!!YYDEBUG);
+ yy::parser parser;
+ parser.set_debug_level (!!YYDEBUG);
return parser.parse ();
}
],
AT_BISON_OPTION_PUSHDEFS([$1])
_AT_DATA_DANCER_Y([$1])
AT_CHECK([bison -o dancer.c dancer.y])
-AT_LALR1_CC_IF([AT_COMPILE_CXX([dancer])],
- [AT_COMPILE([dancer])])
+AT_LALR1_CC_IF(
+ [AT_CHECK([bison -o dancer.cc dancer.y])
+ AT_COMPILE_CXX([dancer])],
+ [AT_CHECK([bison -o dancer.c dancer.y])
+ AT_COMPILE([dancer])])
AT_PARSER_CHECK([./dancer], 1, [],
[syntax error, unexpected ':'
])