]> git.saurik.com Git - bison.git/blobdiff - tests/regression.at
tests: check that parse-gram.y's IELR and LALR are identical.
[bison.git] / tests / regression.at
index 6bfc77ea6dbaed4e1d8c4974aeed5c84e68a628f..2482189ce6ca167a35bc9fd2680e1350314c57ea 100644 (file)
@@ -1237,3 +1237,24 @@ AT_COMPILE([[input]])
 AT_PARSER_CHECK([[./input]])
 
 AT_CLEANUP
+
+
+
+## --------------------------- ##
+## parse-gram.y: LALR = IELR.  ##
+## --------------------------- ##
+
+# If parse-gram.y's LALR and IELR parser tables ever begin to differ, we
+# need to fix parse-gram.y or start using IELR.
+
+AT_SETUP([[parse-gram.y: LALR = IELR]])
+
+# Avoid tests/bison's dark magic by processing a local copy of the
+# grammar.  Avoid differences in synclines by telling bison that the
+# output files have the same name.
+cp $abs_top_srcdir/src/parse-gram.y input.y
+AT_BISON_CHECK([[-o input.c -Dlr.type=lalr input.y && mv input.c lalr.c]])
+AT_BISON_CHECK([[-o input.c -Dlr.type=ielr input.y && mv input.c ielr.c]])
+AT_CHECK([[diff -u lalr.c ielr.c]])
+
+AT_CLEANUP