X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/c932d6135ca3e508f7136810b9b0bf79725290b9..9bcffa0c13d1abee13433f14cdb785cbb960425c:/tests/conflicts.at diff --git a/tests/conflicts.at b/tests/conflicts.at index cf89981b..cafa3338 100644 --- a/tests/conflicts.at +++ b/tests/conflicts.at @@ -50,20 +50,17 @@ AT_CLEANUP AT_SETUP([%nonassoc and eof]) +AT_BISON_OPTION_PUSHDEFS AT_DATA_GRAMMAR([input.y], [[ %{ #include #include #include +#include #define YYERROR_VERBOSE 1 -static void -yyerror (const char *msg) -{ - fprintf (stderr, "%s\n", msg); -} - +]AT_YYERROR_DEFINE[ /* The current argument. */ static const char *input; @@ -71,8 +68,7 @@ static int yylex (void) { static size_t toknum; - if (! (toknum <= strlen (input))) - abort (); + assert (toknum <= strlen (input)); return input[toknum++]; } @@ -93,6 +89,7 @@ main (int argc, const char *argv[]) return yyparse (); } ]]) +AT_BISON_OPTION_POPDEFS m4_pushdef([AT_NONASSOC_AND_EOF_CHECK], [AT_BISON_CHECK([$1[ -o input.c input.y]]) @@ -171,7 +168,7 @@ AT_SKEL_JAVA_IF([AT_DATA], [AT_DATA_GRAMMAR])([input.y], #include ]], [[ #include #include - void yyerror (char const *msg);]])[ + ]AT_YYERROR_DECLARE])[ ]AT_YYLEX_PROTOTYPE[; #define USE(Var) } @@ -212,31 +209,11 @@ public Object getLVal () *lvalp = 1; return *input++; }]])[ - -/*----------. -| yyerror. | -`----------*/]AT_SKEL_JAVA_IF([[ - -public void yyerror (String msg) -{ - System.err.println (msg); -} - +]AT_YYERROR_DEFINE[ +]AT_SKEL_JAVA_IF([[ }; -%%]], [AT_SKEL_CC_IF([[ - -void -yy::parser::error (const yy::location &, std::string const &msg) -{ - std::cerr << msg << std::endl; -}]], [[ - -void -yyerror (char const *msg) -{ - fprintf (stderr, "%s\n", msg); -}]])])[ +%%]])[ /*-------. | main. | @@ -471,12 +448,12 @@ AT_CLEANUP # with minimal LR parser tables. AT_SETUP([[LAC: %nonassoc requires splitting canonical LR states]]) - +AT_BISON_OPTION_PUSHDEFS AT_DATA_GRAMMAR([[input.y]], [[%code { #include - void yyerror (char const *); - int yylex (void); + ]AT_YYERROR_DECLARE[ + ]AT_YYLEX_DECLARE[ } %error-verbose @@ -513,19 +490,8 @@ look: reduce-nonassoc: %prec 'a'; %% - -void -yyerror (char const *msg) -{ - fprintf (stderr, "%s\n", msg); -} - -int -yylex (void) -{ - char const *input = "aaa"; - return *input++; -} +]AT_YYERROR_DEFINE[ +]AT_YYLEX_DEFINE([aaa])[ int main (void) @@ -533,6 +499,7 @@ main (void) return yyparse (); } ]]) +AT_BISON_OPTION_POPDEFS # Show canonical LR's failure. AT_BISON_CHECK([[-Dlr.type=canonical-lr -o input.c input.y]], @@ -1343,7 +1310,7 @@ AT_CHECK([[cat input.output | sed -n '/^state 0$/,/^state 1$/p']], 0, 13 empty_c3: . ['c'] 'b' shift, and go to state 1 - + 'c' reduce using rule 13 (empty_c3) $default reduce using rule 9 (empty_a)