X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/52489d44456f33e4543cee350cc3eaea5a4426fe..fcbfa6b01c0222b01254730c66d539ed2c841a4e:/tests/conflicts.at diff --git a/tests/conflicts.at b/tests/conflicts.at index 6a9ef9bd..58838e7e 100644 --- a/tests/conflicts.at +++ b/tests/conflicts.at @@ -37,8 +37,8 @@ exp: e 'e'; e: 'e' | /* Nothing. */; ]]) -AT_CHECK([bison input.y -o input.c], 0, [], -[[input.y:4.8: warning: rule never reduced because of conflicts: e: /* empty */ +AT_CHECK([bison -o input.c input.y], 0, [], +[[input.y:4.9: warning: rule never reduced because of conflicts: e: /* empty */ ]]) AT_CLEANUP @@ -50,12 +50,9 @@ AT_CLEANUP AT_SETUP([%nonassoc and eof]) -AT_DATA([input.y], +AT_DATA_GRAMMAR([input.y], [[ %{ -#include -/* We don't need a perfect malloc for these tests. */ -#undef malloc #include #if STDC_HEADERS @@ -103,7 +100,7 @@ main (int argc, const char *argv[]) ]]) # Specify the output files to avoid problems on different file systems. -AT_CHECK([bison input.y -o input.c]) +AT_CHECK([bison -o input.c input.y]) AT_COMPILE([input]) AT_PARSER_CHECK([./input '0<0']) @@ -111,16 +108,16 @@ AT_PARSER_CHECK([./input '0<0']) # no one has ever spotted it! The messages are *wrong*: there should # be nothing there, it should be expected eof. AT_PARSER_CHECK([./input '0<0<0'], [1], [], - [parse error, unexpected '<', expecting '<' or '>' + [syntax error, unexpected '<', expecting '<' or '>' ]) AT_PARSER_CHECK([./input '0>0']) AT_PARSER_CHECK([./input '0>0>0'], [1], [], - [parse error, unexpected '>', expecting '<' or '>' + [syntax error, unexpected '>', expecting '<' or '>' ]) AT_PARSER_CHECK([./input '0<0>0'], [1], [], - [parse error, unexpected '>', expecting '<' or '>' + [syntax error, unexpected '>', expecting '<' or '>' ]) AT_CLEANUP @@ -141,7 +138,7 @@ AT_DATA([input.y], exp: exp OP exp | NUM; ]]) -AT_CHECK([bison input.y -o input.c --report=all], 0, [], +AT_CHECK([bison -o input.c --report=all input.y], 0, [], [input.y: warning: 1 shift/reduce conflict ]) @@ -249,7 +246,7 @@ AT_DATA([input.y], exp: exp OP exp | NUM; ]]) -AT_CHECK([bison input.y -o input.c --report=all]) +AT_CHECK([bison -o input.c --report=all input.y]) # Check the contents of the report. AT_CHECK([cat input.output], [], @@ -328,6 +325,7 @@ state 5 1 | exp OP exp . [$end, OP] $default reduce using rule 1 (exp) + Conflict between rule 1 and token OP resolved as reduce (%left OP). ]]) @@ -370,14 +368,19 @@ id : '0'; %% ]]) -AT_CHECK([bison input.y -o input.c --report=all], 0, [], +AT_CHECK([bison -o input.c --report=all input.y], 0, [], [[input.y: warning: 1 reduce/reduce conflict -input.y:4.4-8: warning: rule never reduced because of conflicts: id: '0' +input.y:4.6-8: warning: rule never reduced because of conflicts: id: '0' ]]) # Check the contents of the report. AT_CHECK([cat input.output], [], -[[State 1 contains 1 reduce/reduce conflict. +[[Rules never reduced + + 4 id: '0' + + +State 1 contains 1 reduce/reduce conflict. Grammar @@ -482,7 +485,7 @@ AT_DATA([input.y], exp: exp OP exp | NUM; ]]) -AT_CHECK([bison input.y -o input.c], 1, [], +AT_CHECK([bison -o input.c input.y], 1, [], [input.y: warning: 1 shift/reduce conflict input.y: expected 0 shift/reduce conflicts ]) @@ -502,7 +505,7 @@ AT_DATA([input.y], exp: exp OP exp | NUM; ]]) -AT_CHECK([bison input.y -o input.c]) +AT_CHECK([bison -o input.c input.y]) AT_CLEANUP @@ -519,7 +522,7 @@ AT_DATA([input.y], exp: exp OP exp | NUM; ]]) -AT_CHECK([bison input.y -o input.c], 1, [], +AT_CHECK([bison -o input.c input.y], 1, [], [input.y: warning: 1 shift/reduce conflict input.y: expected 2 shift/reduce conflicts ])