From: Joel E. Denny Date: Wed, 26 Aug 2009 18:15:53 +0000 (-0400) Subject: tests: show a use of %define lr.default-reductions "consistent" X-Git-Tag: v2.7.90~798 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/d1cc31c5f04b81a3620fa291020ce23490f3f9e7 tests: show a use of %define lr.default-reductions "consistent" * tests/conflicts.at (%nonassoc and eof): Extend to test that it prevents the omission of expected tokens for %error-verbose. --- diff --git a/ChangeLog b/ChangeLog index 40df1d40..44f27ffa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-08-26 Joel E. Denny + + tests: show a use of %define lr.default-reductions "consistent" + * tests/conflicts.at (%nonassoc and eof): Extend to test that it + prevents the omission of expected tokens for %error-verbose. + 2009-08-26 Akim Demaille tests: portability fix. diff --git a/tests/conflicts.at b/tests/conflicts.at index f2f7861c..26ec08d4 100644 --- a/tests/conflicts.at +++ b/tests/conflicts.at @@ -112,6 +112,29 @@ AT_PARSER_CHECK([./input '0<0>0'], [1], [], [syntax error, unexpected '>' ]) +# We must disable default reductions in inconsistent states in order to +# have an explicit list of all expected tokens. (However, unless we use +# canonical LR, lookahead sets are merged for different left contexts, +# so it is still possible to have extra incorrect tokens in the expected +# list. That just doesn't happen to be a problem for this test case.) + +AT_BISON_CHECK([-Dlr.default-reductions=consistent -o input.c input.y]) +AT_COMPILE([input]) + +AT_PARSER_CHECK([./input '0<0']) +AT_PARSER_CHECK([./input '0<0<0'], [1], [], + [syntax error, unexpected '<', expecting $end +]) + +AT_PARSER_CHECK([./input '0>0']) +AT_PARSER_CHECK([./input '0>0>0'], [1], [], + [syntax error, unexpected '>', expecting $end +]) + +AT_PARSER_CHECK([./input '0<0>0'], [1], [], + [syntax error, unexpected '>', expecting $end +]) + AT_CLEANUP