]> git.saurik.com Git - bison.git/blobdiff - tests/conflicts.at
Add %default-prec.
[bison.git] / tests / conflicts.at
index 3b51d6f0d51b0f37aeecb33abcbb12211475a822..259827bda6021fb97c98e8c7813d6b6c23f79ae4 100644 (file)
@@ -548,3 +548,77 @@ AT_CHECK([bison -o input.c input.y], 0, [],
 input.y: warning: expected 0 reduce/reduce conflicts
 ])
 AT_CLEANUP
+
+
+## ---------------------------- ##
+## %default-prec without %prec  ##
+## ---------------------------- ##
+
+AT_SETUP([%default-prec without %prec])
+
+AT_DATA([[input.y]],
+[[%left '+'
+%left '*'
+
+%%
+
+%default-prec 0;
+
+e:   e '+' e
+   | e '*' e
+   | '0'
+   ;
+]])
+
+AT_CHECK([bison -o input.c input.y], 0, [],
+[[input.y: conflicts: 4 shift/reduce
+]])
+AT_CLEANUP
+
+
+## ------------------------- ##
+## %default-prec with %prec  ##
+## ------------------------- ##
+
+AT_SETUP([%default-prec with %prec])
+
+AT_DATA([[input.y]],
+[[%left '+'
+%left '*'
+
+%%
+
+%default-prec 0;
+
+e:   e '+' e %prec '+'
+   | e '*' e %prec '*'
+   | '0'
+   ;
+]])
+
+AT_CHECK([bison -o input.c input.y])
+AT_CLEANUP
+
+
+## ---------------- ##
+## %default-prec 1  ##
+## ---------------- ##
+
+AT_SETUP([%default-prec 1])
+
+AT_DATA([[input.y]],
+[[%left '+'
+%left '*'
+
+%%
+
+%default-prec 1;
+
+e:   e '+' e
+   | e '*' e
+   | '0'
+   ;
+]])
+
+AT_CHECK([bison -o input.c input.y])
+AT_CLEANUP