* src/tgbaalgos/se05.cc: Add a bit state hashing version. * src/tgbaalgos/magic.hh: Make them public. * src/tgbatest/ltl2tgba.cc: Add the two new emptiness checks. * src/tgbatest/emptchk.test: Incorporate tests of src/tgbatest/dfs.test. * src/tgbatest/dfs.test: Introduce new characteristic explicit tests.
191 lines
No EOL
2.9 KiB
Bash
Executable file
191 lines
No EOL
2.9 KiB
Bash
Executable file
#!/bin/sh
|
|
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
|
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
|
# et Marie Curie.
|
|
#
|
|
# This file is part of Spot, a model checking library.
|
|
#
|
|
# Spot is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Spot is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
|
# License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with Spot; see the file COPYING. If not, write to the Free
|
|
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
# 02111-1307, USA.
|
|
|
|
|
|
. ./defs
|
|
|
|
set -e
|
|
|
|
# All examples are TBA (i.e. they have a unique
|
|
# accepting condition). Accepting arcs are
|
|
# represented by double arrows.
|
|
#
|
|
# s1=>s2->s3->(large composant from s4 to s9)
|
|
# ^ |
|
|
# |_______|
|
|
|
|
cat >blue_counter <<'EOF'
|
|
acc = a;
|
|
s1, s2,, a;
|
|
s2, s3,,;
|
|
s3, s1,,;
|
|
s3, s4,,;
|
|
s4, s4,,;
|
|
s4, s5,,;
|
|
s4, s6,,;
|
|
s4, s7,,;
|
|
s4, s8,,;
|
|
s4, s9,,;
|
|
s5, s4,,;
|
|
s5, s5,,;
|
|
s5, s6,,;
|
|
s5, s7,,;
|
|
s5, s8,,;
|
|
s5, s9,,;
|
|
s6, s4,,;
|
|
s6, s5,,;
|
|
s6, s6,,;
|
|
s6, s7,,;
|
|
s6, s8,,;
|
|
s6, s9,,;
|
|
s7, s4,,;
|
|
s7, s5,,;
|
|
s7, s6,,;
|
|
s7, s7,,;
|
|
s7, s8,,;
|
|
s7, s9,,;
|
|
s8, s4,,;
|
|
s8, s5,,;
|
|
s8, s6,,;
|
|
s8, s7,,;
|
|
s8, s8,,;
|
|
s8, s9,,;
|
|
s9, s4,,;
|
|
s9, s5,,;
|
|
s9, s6,,;
|
|
s9, s7,,;
|
|
s9, s8,,;
|
|
s9, s9,,;
|
|
EOF
|
|
|
|
run 0 ./ltl2tgba -emagic_search -X blue_counter
|
|
run 0 ./ltl2tgba -ese05_search -X blue_counter
|
|
|
|
# s1->s2->s3->(large composant from s4 to s9)
|
|
# ^ ||
|
|
# ||______||
|
|
# ||______||
|
|
|
|
cat >blue_last <<'EOF'
|
|
acc = a;
|
|
s1, s2,,;
|
|
s2, s3,,;
|
|
s3, s1,, a;
|
|
s3, s4,,;
|
|
s4, s4,,;
|
|
s4, s5,,;
|
|
s4, s6,,;
|
|
s4, s7,,;
|
|
s4, s8,,;
|
|
s4, s9,,;
|
|
s5, s4,,;
|
|
s5, s5,,;
|
|
s5, s6,,;
|
|
s5, s7,,;
|
|
s5, s8,,;
|
|
s5, s9,,;
|
|
s6, s4,,;
|
|
s6, s5,,;
|
|
s6, s6,,;
|
|
s6, s7,,;
|
|
s6, s8,,;
|
|
s6, s9,,;
|
|
s7, s4,,;
|
|
s7, s5,,;
|
|
s7, s6,,;
|
|
s7, s7,,;
|
|
s7, s8,,;
|
|
s7, s9,,;
|
|
s8, s4,,;
|
|
s8, s5,,;
|
|
s8, s6,,;
|
|
s8, s7,,;
|
|
s8, s8,,;
|
|
s8, s9,,;
|
|
s9, s4,,;
|
|
s9, s5,,;
|
|
s9, s6,,;
|
|
s9, s7,,;
|
|
s9, s8,,;
|
|
s9, s9,,;
|
|
EOF
|
|
|
|
run 0 ./ltl2tgba -emagic_search -X blue_last
|
|
run 0 ./ltl2tgba -ese05_search -X blue_last
|
|
|
|
# _______
|
|
# | |
|
|
# | v
|
|
# s1->s2->s3->(large composant from s4 to s9)
|
|
# || ^
|
|
# ||______||
|
|
# ||______||
|
|
|
|
cat >red <<'EOF'
|
|
acc = a;
|
|
s1, s2,,;
|
|
s1, s3,, a;
|
|
s2, s3,,;
|
|
s3, s1,,;
|
|
s3, s4,,;
|
|
s4, s4,,;
|
|
s4, s5,,;
|
|
s4, s6,,;
|
|
s4, s7,,;
|
|
s4, s8,,;
|
|
s4, s9,,;
|
|
s5, s4,,;
|
|
s5, s5,,;
|
|
s5, s6,,;
|
|
s5, s7,,;
|
|
s5, s8,,;
|
|
s5, s9,,;
|
|
s6, s4,,;
|
|
s6, s5,,;
|
|
s6, s6,,;
|
|
s6, s7,,;
|
|
s6, s8,,;
|
|
s6, s9,,;
|
|
s7, s4,,;
|
|
s7, s5,,;
|
|
s7, s6,,;
|
|
s7, s7,,;
|
|
s7, s8,,;
|
|
s7, s9,,;
|
|
s8, s4,,;
|
|
s8, s5,,;
|
|
s8, s6,,;
|
|
s8, s7,,;
|
|
s8, s8,,;
|
|
s8, s9,,;
|
|
s9, s4,,;
|
|
s9, s5,,;
|
|
s9, s6,,;
|
|
s9, s7,,;
|
|
s9, s8,,;
|
|
s9, s9,,;
|
|
EOF
|
|
|
|
run 0 ./ltl2tgba -emagic_search -X red
|
|
run 0 ./ltl2tgba -ese05_search -X red
|
|
|
|
rm -f red blue_counter blue_last |