This commit is contained in:
Akim Demaille
2005-11-03 16:23:21 +00:00
parent 44e7ead165
commit 317fce927c

View 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