X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/d87ea54cf6cc98d52356c138bd142d1b450bbc9a..c6b1772473d0a26faa22464df98718d0d0ae2e2e:/tests/conflicts.at?ds=sidebyside diff --git a/tests/conflicts.at b/tests/conflicts.at index 83ef1286..8b04449c 100644 --- a/tests/conflicts.at +++ b/tests/conflicts.at @@ -117,10 +117,10 @@ AT_NONASSOC_AND_EOF_CHECK([], [[incorrect]]) # We must disable default reductions in inconsistent states in order to # have an explicit list of all expected tokens. -AT_NONASSOC_AND_EOF_CHECK([[-Dlr.default-reductions=consistent]], +AT_NONASSOC_AND_EOF_CHECK([[-Dlr.default-reduction=consistent]], [[correct]]) -# lr.default-reductions=consistent happens to work for this test case. +# lr.default-reduction=consistent happens to work for this test case. # However, for other grammars, lookahead sets can be merged for # different left contexts, so it is still possible to have an incorrect # expected list. Canonical LR is almost a general solution (that is, it @@ -310,12 +310,12 @@ AT_CONSISTENT_ERRORS_CHECK([[%define lr.type ielr # Even canonical LR doesn't foresee the error for 'a'! AT_CONSISTENT_ERRORS_CHECK([[%define lr.type ielr - %define lr.default-reductions consistent]], + %define lr.default-reduction consistent]], [AT_PREVIOUS_STATE_GRAMMAR], [AT_PREVIOUS_STATE_INPUT], [[$end]], [[ab]]) AT_CONSISTENT_ERRORS_CHECK([[%define lr.type ielr - %define lr.default-reductions accepting]], + %define lr.default-reduction accepting]], [AT_PREVIOUS_STATE_GRAMMAR], [AT_PREVIOUS_STATE_INPUT], [[$end]], [[ab]]) @@ -396,13 +396,13 @@ AT_CONSISTENT_ERRORS_CHECK([[%glr-parser]], [['b']], [[none]]) # No C++ or Java test because yychar cannot be manipulated by users. -AT_CONSISTENT_ERRORS_CHECK([[%define lr.default-reductions consistent]], +AT_CONSISTENT_ERRORS_CHECK([[%define lr.default-reduction consistent]], [AT_USER_ACTION_GRAMMAR], [AT_USER_ACTION_INPUT], [['b']], [[none]]) # Canonical LR doesn't foresee the error for 'a'! -AT_CONSISTENT_ERRORS_CHECK([[%define lr.default-reductions accepting]], +AT_CONSISTENT_ERRORS_CHECK([[%define lr.default-reduction accepting]], [AT_USER_ACTION_GRAMMAR], [AT_USER_ACTION_INPUT], [[$end]], [[a]]) @@ -416,7 +416,7 @@ AT_CONSISTENT_ERRORS_CHECK([[%define parse.lac full]], [AT_USER_ACTION_INPUT], [['b']], [[none]]) AT_CONSISTENT_ERRORS_CHECK([[%define parse.lac full - %define lr.default-reductions accepting]], + %define lr.default-reduction accepting]], [AT_USER_ACTION_GRAMMAR], [AT_USER_ACTION_INPUT], [[$end]], [[none]]) @@ -574,7 +574,7 @@ exp (6) on left: 1 2, on right: 0 1 -state 0 +State 0 0 $accept: . exp $end 1 exp: . exp OP exp @@ -585,14 +585,14 @@ state 0 exp go to state 2 -state 1 +State 1 2 exp: NUM . $default reduce using rule 2 (exp) -state 2 +State 2 0 $accept: exp . $end 1 exp: exp . OP exp @@ -601,14 +601,14 @@ state 2 OP shift, and go to state 4 -state 3 +State 3 0 $accept: exp $end . $default accept -state 4 +State 4 1 exp: . exp OP exp 1 | exp OP . exp @@ -619,7 +619,7 @@ state 4 exp go to state 5 -state 5 +State 5 1 exp: exp . OP exp 1 | exp OP exp . [$end, OP] @@ -677,7 +677,7 @@ exp (6) on left: 1 2, on right: 0 1 -state 0 +State 0 0 $accept: . exp $end 1 exp: . exp OP exp @@ -688,14 +688,14 @@ state 0 exp go to state 2 -state 1 +State 1 2 exp: NUM . $default reduce using rule 2 (exp) -state 2 +State 2 0 $accept: exp . $end 1 exp: exp . OP exp @@ -704,14 +704,14 @@ state 2 OP shift, and go to state 4 -state 3 +State 3 0 $accept: exp $end . $default accept -state 4 +State 4 1 exp: . exp OP exp 1 | exp OP . exp @@ -722,7 +722,7 @@ state 4 exp go to state 5 -state 5 +State 5 1 exp: exp . OP exp 1 | exp OP exp . [$end, OP] @@ -873,7 +873,7 @@ id (7) on left: 4, on right: 2 -state 0 +State 0 0 $accept: . exp $end 1 exp: . num @@ -888,7 +888,7 @@ state 0 id go to state 4 -state 1 +State 1 3 num: '0' . [$end] 4 id: '0' . [$end] @@ -898,28 +898,28 @@ state 1 $default reduce using rule 3 (num) -state 2 +State 2 0 $accept: exp . $end $end shift, and go to state 5 -state 3 +State 3 1 exp: num . $default reduce using rule 1 (exp) -state 4 +State 4 2 exp: id . $default reduce using rule 2 (exp) -state 5 +State 5 0 $accept: exp $end . @@ -945,7 +945,7 @@ exp: exp OP exp | NUM; ]]) AT_BISON_CHECK([-o input.c input.y], 1, [], -[[input.y: shift/reduce conflicts: 1 found, 0 expected +[[input.y: error: shift/reduce conflicts: 1 found, 0 expected ]]) AT_CLEANUP @@ -981,7 +981,7 @@ exp: exp OP exp | NUM; ]]) AT_BISON_CHECK([-o input.c input.y], 1, [], -[[input.y: shift/reduce conflicts: 1 found, 2 expected +[[input.y: error: shift/reduce conflicts: 1 found, 2 expected ]]) AT_CLEANUP @@ -1000,7 +1000,7 @@ a: 'a'; ]]) AT_BISON_CHECK([-o input.c input.y], 1, [], -[[input.y: reduce/reduce conflicts: 1 found, 0 expected +[[input.y: error: reduce/reduce conflicts: 1 found, 0 expected ]]) AT_CLEANUP @@ -1218,7 +1218,7 @@ reported_conflicts (9) on left: 8 9 10, on right: 1 -state 0 +State 0 0 $accept: . start $end 1 start: . resolved_conflict 'a' reported_conflicts 'a' @@ -1233,28 +1233,28 @@ state 0 Conflict between rule 3 and token 'a' resolved as reduce (%left 'a'). -state 1 +State 1 0 $accept: start . $end $end shift, and go to state 3 -state 2 +State 2 1 start: resolved_conflict . 'a' reported_conflicts 'a' 'a' shift, and go to state 4 -state 3 +State 3 0 $accept: start $end . $default accept -state 4 +State 4 1 start: resolved_conflict 'a' . reported_conflicts 'a' 8 reported_conflicts: . 'a' @@ -1268,7 +1268,7 @@ state 4 reported_conflicts go to state 6 -state 5 +State 5 8 reported_conflicts: 'a' . ['a'] 9 | 'a' . ['a'] @@ -1278,14 +1278,14 @@ state 5 $default reduce using rule 8 (reported_conflicts) -state 6 +State 6 1 start: resolved_conflict 'a' reported_conflicts . 'a' 'a' shift, and go to state 7 -state 7 +State 7 1 start: resolved_conflict 'a' reported_conflicts 'a' . @@ -1293,7 +1293,7 @@ state 7 ]]) AT_DATA([[input-keep.y]], -[[%define lr.keep-unreachable-states +[[%define lr.keep-unreachable-state ]]) AT_CHECK([[cat input.y >> input-keep.y]]) @@ -1340,8 +1340,8 @@ empty_c2: %prec 'c' ; empty_c3: %prec 'd' ; ]]) AT_BISON_CHECK([[--report=all -o input.c input.y]], 0, [], [ignore]) -AT_CHECK([[cat input.output | sed -n '/^state 0$/,/^state 1$/p']], 0, -[[state 0 +AT_CHECK([[cat input.output | sed -n '/^State 0$/,/^State 1$/p']], 0, +[[State 0 0 $accept: . start $end 1 start: . 'a' @@ -1377,7 +1377,7 @@ AT_CHECK([[cat input.output | sed -n '/^state 0$/,/^state 1$/p']], 0, Conflict between rule 13 and token 'c' resolved as reduce ('c' < 'd'). -state 1 +State 1 ]]) AT_CLEANUP @@ -1416,8 +1416,8 @@ empty_c3: %prec 'c' ; ]]) AT_BISON_CHECK([[--report=all -o input.c input.y]], 0, [], [ignore]) -AT_CHECK([[cat input.output | sed -n '/^state 0$/,/^state 1$/p']], 0, -[[state 0 +AT_CHECK([[cat input.output | sed -n '/^State 0$/,/^State 1$/p']], 0, +[[State 0 0 $accept: . start $end 1 start: . 'a' @@ -1453,7 +1453,7 @@ AT_CHECK([[cat input.output | sed -n '/^state 0$/,/^state 1$/p']], 0, Conflict between rule 11 and token 'c' resolved as an error (%nonassoc 'c'). -state 1 +State 1 ]]) AT_CLEANUP @@ -1584,12 +1584,12 @@ for gram in sr-rr sr rr; do if test -z "$sr_exp_i" && test "$sr_count" -ne 0; then echo "warning: $sr_count shift/reduce conflicts" elif test "$sr_exp_i" -ne "$sr_count"; then - echo "shift/reduce conflicts: $sr_count found, $sr_exp_i expected" + echo "error: shift/reduce conflicts: $sr_count found, $sr_exp_i expected" fi if test -z "$rr_exp_i" && test "$rr_count" -ne 0; then echo "warning: $rr_count reduce/reduce conflicts" elif test "$rr_exp_i" -ne "$rr_count"; then - echo "reduce/reduce conflicts: $rr_count found, $rr_exp_i expected" + echo "error: reduce/reduce conflicts: $rr_count found, $rr_exp_i expected" fi } | sed -e "s/^/$file: /" > experr ]AT_BISON_CHECK([[-Wnone $file]], [[1]], [[]], [[experr]])[