Better selection of the acceptance of the initial state in SBA.

* src/tgba/tgbatba.cc (tgba_sba_proxy::tgba_sba_proxy): Set
cycle_start_ to start in the accepting layer of the degeneralized
automaton if the initial state has an accepting self-loop.
Otherwise, starts at the level of the first acceptance condition
as previously.
(tgba_sba_proxy::get_init_state): Use cycle_start_.
* src/tgba/tgbatba.hh (tgba_tba_proxy::a_): Make it protected so
that we can use it in tgba_sba_proxy::tgba_sba_proxy.
(tgba_sba_proxy::cycle_start_, tgba_sba_proxy::get_init_state):
Declare.
* src/tgbatest/ltl2tgba.test: More tests.
This commit is contained in:
Alexandre Duret-Lutz 2010-03-05 22:35:18 +01:00
parent 52faa81a77
commit 34af32879c
4 changed files with 82 additions and 2 deletions

View file

@ -59,3 +59,19 @@ for opt in '' -D -DS; do
grep 'transitions: 6$' stdout
grep 'states: 3$' stdout
done
# Make sure '!(Ga U b)' has 3 states and 6 transitions,
# before and after degeneralization.
for opt in '' -D -DS; do
../ltl2tgba -k -f -R3 $opt '!(Ga U b)' > stdout
grep 'transitions: 6$' stdout
grep 'states: 3$' stdout
done
# Make sure 'Ga U b' has 4 states and 6 transitions,
# before and after degeneralization.
for opt in '' -D -DS; do
../ltl2tgba -k -f -R3 $opt 'Ga U b' > stdout
grep 'transitions: 6$' stdout
grep 'states: 4$' stdout
done