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.
(cherry picked from commit d1cc31c5f0)
This commit is contained in:
Joel E. Denny
2009-08-26 14:15:53 -04:00
parent 833d1720f8
commit d63e12792a
2 changed files with 29 additions and 0 deletions

View File

@@ -1,3 +1,9 @@
2009-08-26 Joel E. Denny <jdenny@clemson.edu>
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 <demaille@gostai.com>
tests: portability fix.

View File

@@ -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