lbttparse: allow acceptance sets that are not consecutive integers.

* src/tgbaalgos/lbtt.cc: Renumber acceptance sets as they are read.
* src/tgbatest/lbttparse.test: Add a test cases.
This commit is contained in:
Alexandre Duret-Lutz 2012-10-19 15:56:42 +02:00
parent 89b9cc5fd5
commit e426c63550
2 changed files with 51 additions and 14 deletions

View file

@ -81,3 +81,21 @@ run 0 ../ltl2tgba -ks -XL wring2lbtt > size
test "`cat size | sed -n 's/states: //p'`" = 4
test "`cat size | sed -n 's/transitions: //p'`" = 6
# Another example from wring2lbtt (or modella), showing that the
# acceptance set of the state is not always numbered from 0.
cat >wring2lbtt2 <<EOF
6 1 0 1 -1 1 | & ! p0 ! p1 & p0 ! p1
2 & ! p0 ! p1
3 | & p0 p1 & ! p0 p1
-1 1 0 -1 4 ! p1
-1 2 0 -1 2 & ! p0 ! p1
3 | & p0 p1 & ! p0 p1
-1 3 0 -1 5 t
-1 4 0 1 -1 4 ! p1
-1 5 0 1 -1 5 t
-1
EOF
run 0 ../ltl2tgba -ks -XL wring2lbtt2 > size
test "`cat size | sed -n 's/states: //p'`" = 6
test "`cat size | sed -n 's/transitions: //p'`" = 9