]> git.saurik.com Git - bison.git/commitdiff
Typo.
authorAkim Demaille <akim@epita.fr>
Thu, 3 Nov 2005 16:23:21 +0000 (16:23 +0000)
committerAkim Demaille <akim@epita.fr>
Thu, 3 Nov 2005 16:23:21 +0000 (16:23 +0000)
tests/sets.at

index c33985da208577678de2e9e7e1007aa28b595744..262ccfa08fda365c9c7abdccd0d73c2e3fd72e22 100644 (file)
@@ -252,3 +252,51 @@ FDERIVES
 ]])
 
 AT_CLEANUP
+
+
+
+
+## -------- ##
+## Accept.  ##
+## -------- ##
+
+# In some weird cases Bison could compute an incorrect final state
+# number.  This happens only if the $end token is used in the user
+# grammar, which is a very suspicious accidental feature introduced as
+# a side effect of allowing the user to name $end using `%token END 0
+# "end of file"'.
+
+AT_SETUP([Accept])
+
+AT_DATA([input.y],
+[[%token END 0
+%%
+input:
+  'a'
+| '(' input ')'
+| '(' error END
+;
+]])
+
+AT_CHECK([[bison -v -o input.c input.y]])
+
+# Get the final state in the parser.
+AT_CHECK([sed -n 's/.*define YYFINAL *\([0-9][0-9]\)*/final state \1/p' input.c],
+         0, [stdout])
+mv stdout expout
+
+# Get the final state in the report, from the "accept" action..
+AT_CHECK([sed -n '
+           /^state \(.*\)/{
+            s//final state \1/
+            x
+          }
+          / accept/{
+            x
+            p
+            q
+          }
+       ' input.output],
+       0, [expout])
+
+AT_CLEANUP