spot/wrap/python/tests/ltl2tgba.test
Alexandre Duret-Lutz 2b9f17202c This implements Couvreur's FM'99 ltl2tgba translation.
* src/tgba/bdddict.cc (bdd_dict::is_registered): Split as ...
(bdd_dict::is_registered_proposition, bdd_dict::is_registered_state,
bdd_dict::is_registered_accepting_variable): ... these.
* src/tgba/bdddict.hh: Likewise.
* src/tgba/tgbaexplicit.cc (tgba_explicit::set_init_state): New method.
(tgba_explicit::declare_accepting_condition): Arrange so that this
function can be called during the construction of the automaton.
(tgba_explicit::complement_all_accepting_conditions): New method.
(tgba_explicit::has_accepting_condition): Adjust to call
bdd_dict::is_registered_accepting_variable.
* src/tgba/tgbaexplicit.hh (tgba_explicit::set_init_state,
tgba_explicit::complement_all_accepting_conditions): New methods.
* src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_fm.hh:
New files.
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
libtgbaalgos_la_SOURCES): Add them.
* src/tgbaalgos/ltl2tgba.hh: Add bibtex entry in comment.
* src/tgbatest/Makefile.am (check_PROGRAMS): Remove spotlbtt
and tbalbtt.
(tbalbtt_SOURCES, tbalbtt_CXXFLAGS, spotlbtt_SOURCES): Remove.
* src/tgbatest/spotlbtt.cc: Delete, superseded by "ltl2tgba -F -t".
* src/tgbatest/ltl2tgba.cc: Implement the -f and -F options.
* src/tgbatest/spotlbtt.test: Use "ltl2tgba -F -t" instead of
"spotlbtt", "ltl2tgba -F -t -D" instead of "tbalbtt", and add
also check the ltl2tgba_fm translator.
* wrap/python/spot.i: Wrap ltl2tgba_fm.
* wrap/python/cgi/ltl2tgba.in: Add radio buttons to select
between ltl2tgba and ltl2tgba_fm.
* wrap/python/tests/ltl2tgba.py: Add support for the -f option.
* wrap/python/tests/ltl2tgba.test: Try the -f option.
2003-08-15 01:33:09 +00:00

26 lines
801 B
Bash
Executable file

#!/bin/sh
set -e
# We don't check the output, but just running these might be enough to
# trigger assertions.
./run ltl2tgba.py a
./run ltl2tgba.py 'a U b'
./run ltl2tgba.py 'X a'
./run ltl2tgba.py 'a & b & c'
./run ltl2tgba.py 'a | b | (c U (d & (g U (h ^ i))))'
./run ltl2tgba.py 'Xa & (b U !a) & (b U !a)'
./run ltl2tgba.py 'Fa & Xb & GFc & Gd'
./run ltl2tgba.py 'Fa & Xa & GFc & Gc'
./run ltl2tgba.py 'Fc & X(a | Xb) & GF(a | Xb) & Gc'
./run ltl2tgba.py -f a
./run ltl2tgba.py -f 'a U b'
./run ltl2tgba.py -f 'X a'
./run ltl2tgba.py -f 'a & b & c'
./run ltl2tgba.py -f 'a | b | (c U (d & (g U (h ^ i))))'
./run ltl2tgba.py -f 'Xa & (b U !a) & (b U !a)'
./run ltl2tgba.py -f 'Fa & Xb & GFc & Gd'
./run ltl2tgba.py -f 'Fa & Xa & GFc & Gc'
./run ltl2tgba.py -f 'Fc & X(a | Xb) & GF(a | Xb) & Gc'