X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/2c8ba4cd594dc810d1564923e350e0975359836a..c1f8f16a9b467565fbef7e8c85f0aad8bfad6bde:/tests/conflicts.at?ds=sidebyside diff --git a/tests/conflicts.at b/tests/conflicts.at index 635e266a..381b49ef 100644 --- a/tests/conflicts.at +++ b/tests/conflicts.at @@ -1,5 +1,6 @@ # Exercising Bison on conflicts. -*- Autotest -*- -# Copyright (C) 2002 Free Software Foundation, Inc. + +# Copyright (C) 2002, 2003, 2004 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 @@ -54,10 +55,7 @@ AT_DATA_GRAMMAR([input.y], [[ %{ #include - -#if STDC_HEADERS -# include -#endif +#include #define YYERROR_VERBOSE 1 static void @@ -485,9 +483,9 @@ AT_DATA([input.y], exp: exp OP exp | NUM; ]]) -AT_CHECK([bison -o input.c input.y], 1, [], +AT_CHECK([bison -o input.c input.y], 0, [], [input.y: conflicts: 1 shift/reduce -input.y: expected 0 shift/reduce conflicts +input.y: warning: expected 0 shift/reduce conflicts ]) AT_CLEANUP @@ -522,9 +520,9 @@ AT_DATA([input.y], exp: exp OP exp | NUM; ]]) -AT_CHECK([bison -o input.c input.y], 1, [], +AT_CHECK([bison -o input.c input.y], 0, [], [input.y: conflicts: 1 shift/reduce -input.y: expected 2 shift/reduce conflicts +input.y: warning: expected 2 shift/reduce conflicts ]) AT_CLEANUP @@ -542,8 +540,82 @@ program: a 'a' | a a; a: 'a'; ]]) -AT_CHECK([bison -o input.c input.y], 1, [], +AT_CHECK([bison -o input.c input.y], 0, [], [input.y: conflicts: 1 reduce/reduce -input.y: expected 0 reduce/reduce conflicts +input.y: warning: expected 0 reduce/reduce conflicts ]) AT_CLEANUP + + +## ------------------------------- ## +## %no-default-prec without %prec ## +## ------------------------------- ## + +AT_SETUP([%no-default-prec without %prec]) + +AT_DATA([[input.y]], +[[%left '+' +%left '*' + +%% + +%no-default-prec; + +e: e '+' e + | e '*' e + | '0' + ; +]]) + +AT_CHECK([bison -o input.c input.y], 0, [], +[[input.y: conflicts: 4 shift/reduce +]]) +AT_CLEANUP + + +## ---------------------------- ## +## %no-default-prec with %prec ## +## ---------------------------- ## + +AT_SETUP([%no-default-prec with %prec]) + +AT_DATA([[input.y]], +[[%left '+' +%left '*' + +%% + +%no-default-prec; + +e: e '+' e %prec '+' + | e '*' e %prec '*' + | '0' + ; +]]) + +AT_CHECK([bison -o input.c input.y]) +AT_CLEANUP + + +## ---------------- ## +## %default-prec ## +## ---------------- ## + +AT_SETUP([%default-prec]) + +AT_DATA([[input.y]], +[[%left '+' +%left '*' + +%% + +%default-prec; + +e: e '+' e + | e '*' e + | '0' + ; +]]) + +AT_CHECK([bison -o input.c input.y]) +AT_CLEANUP