]> git.saurik.com Git - bison.git/commitdiff
tests: check that parse-gram.y's IELR and LALR are identical.
authorJoel E. Denny <jdenny@clemson.edu>
Sat, 26 Sep 2009 18:49:20 +0000 (14:49 -0400)
committerJoel E. Denny <jdenny@clemson.edu>
Sat, 26 Sep 2009 19:32:04 +0000 (15:32 -0400)
* tests/atlocal.in (abs_top_srcdir): New shell variable.
* tests/regression.at (parse-gram.y: LALR = IELR): New test
group.
(cherry picked from commit 43aabb70a95ecbd20c76797c53554641c3576db4)

ChangeLog
tests/atlocal.in
tests/regression.at

index d52c41c9590f9306a8c567bb206789977f379e80..add4c23881095b80cc26711148030e6e50a0c326 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-09-26  Joel E. Denny  <jdenny@clemson.edu>
+
+       tests: check that parse-gram.y's IELR and LALR are identical.
+       * tests/atlocal.in (abs_top_srcdir): New shell variable.
+       * tests/regression.at (parse-gram.y: LALR = IELR): New test
+       group.
+
 2009-09-16  Akim Demaille  <demaille@gostai.com>
 
        doc: comment changes.
 2009-09-16  Akim Demaille  <demaille@gostai.com>
 
        doc: comment changes.
index 91ba6742108e348d476ba0b06baa9a922ff9a203..2e463290f4a11638c627c93a9a1f670cc7b1160b 100644 (file)
@@ -42,3 +42,5 @@ CONF_JAVA='@CONF_JAVA@'
 
 # We need egrep.
 : ${EGREP='@EGREP@'}
 
 # We need egrep.
 : ${EGREP='@EGREP@'}
+
+abs_top_srcdir='@abs_top_srcdir@'
index cb9cd9a461ea70116f5de157ebf6fe589fb178c9..b2fa98b78e6abfc3e7ed6ad92dd1fa3ef8e1c6e0 100644 (file)
@@ -1246,3 +1246,23 @@ AT_COMPILE([[input]])
 AT_PARSER_CHECK([[./input]])
 
 AT_CLEANUP
 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 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