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.
(cherry picked from commit 43aabb70a9)
This commit is contained in:
Joel E. Denny
2009-09-26 14:49:20 -04:00
parent 232be91a83
commit 873ac263c8
3 changed files with 29 additions and 0 deletions

View File

@@ -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.

View File

@@ -42,3 +42,5 @@ CONF_JAVA='@CONF_JAVA@'
# We need egrep.
: ${EGREP='@EGREP@'}
abs_top_srcdir='@abs_top_srcdir@'

View File

@@ -1246,3 +1246,23 @@ 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 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