eltl2tgba: remove this unused code.
* src/eltlparse/.gitignore, src/eltlparse/Makefile.am, src/eltlparse/eltlparse.yy, src/eltlparse/eltlscan.ll, src/eltlparse/fmterror.cc, src/eltlparse/parsedecl.hh, src/eltlparse/public.hh, src/eltltest/.gitignore, src/eltltest/Makefile.am, src/eltltest/acc.cc, src/eltltest/acc.test, src/eltltest/defs.in, src/eltltest/nfa.cc, src/eltltest/nfa.test, src/tgbaalgos/eltl2tgba_lacim.cc, src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbatest/eltl2tgba.test: Delete these files. * src/Makefile.am, src/tgbaalgos/Makefile.am, src/tgbatest/Makefile.am, src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlcross.test, src/tgbatest/spotlbtt.test, README, configure.ac: Adjust.
This commit is contained in:
parent
06b3a80af3
commit
af8ce5dfa1
25 changed files with 13 additions and 2059 deletions
|
|
@ -79,7 +79,6 @@ tripprod_SOURCES = tripprod.cc
|
|||
TESTS = \
|
||||
intvcomp.test \
|
||||
bitvect.test \
|
||||
eltl2tgba.test \
|
||||
explicit.test \
|
||||
explicit2.test \
|
||||
ltlcross3.test \
|
||||
|
|
|
|||
|
|
@ -1,204 +0,0 @@
|
|||
#!/bin/sh
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 2009, 2010, 2013 Laboratoire de Recherche et
|
||||
# Développement de l'Epita (LRDE).
|
||||
#
|
||||
# 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 3 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 this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
. ./defs || exit -1
|
||||
set -e
|
||||
|
||||
# Check if the TGBA was corretly constructed.
|
||||
check_construct()
|
||||
{
|
||||
run 0 ../ltl2tgba -F -le -b "$1" > output
|
||||
}
|
||||
|
||||
# Check if the TGBA behaves correctly by doing an emptiness check on
|
||||
# the product between the constructed TGBA and a given formula
|
||||
# translated using FM.
|
||||
check_true()
|
||||
{
|
||||
run 0 ../ltl2tgba -CR -e -Poutput -f "$1"
|
||||
}
|
||||
check_false()
|
||||
{
|
||||
run 1 ../ltl2tgba -CR -e -Poutput -f "$1"
|
||||
}
|
||||
|
||||
for f in 'GFa' 'FGb' 'GFa->GFb'; do
|
||||
run 0 ../ltl2tgba -lo -b "$f" > output
|
||||
check_false "!($f)"
|
||||
done
|
||||
|
||||
# Create the prelude file.
|
||||
cat >input1 <<'EOF'
|
||||
X=(
|
||||
0 1 true
|
||||
1 2 $0
|
||||
accept 2
|
||||
)
|
||||
U=(
|
||||
0 0 $0
|
||||
0 1 $1
|
||||
accept 1
|
||||
)
|
||||
G=(
|
||||
0 0 $0
|
||||
)
|
||||
F=U(true, $0)
|
||||
Strong=G(F($0))->G(F($1))
|
||||
R=!U(!$0, !$1)
|
||||
EOF
|
||||
|
||||
cat >input <<EOF
|
||||
A=(
|
||||
)
|
||||
%
|
||||
!0|1
|
||||
EOF
|
||||
|
||||
check_construct input
|
||||
check_true 'Ga'
|
||||
|
||||
cat >input <<EOF
|
||||
include input1
|
||||
%
|
||||
a U b
|
||||
EOF
|
||||
|
||||
check_construct input
|
||||
check_true 'a U b'
|
||||
check_false '!(a U b)'
|
||||
check_false 'G(a&!b)'
|
||||
|
||||
cat >input <<EOF
|
||||
include input1
|
||||
%
|
||||
!(a U b)
|
||||
EOF
|
||||
|
||||
check_construct input
|
||||
check_true '!(a U b)'
|
||||
check_true 'G(a&!b)'
|
||||
check_false 'a U b'
|
||||
|
||||
cat >input <<EOF
|
||||
include input1
|
||||
%
|
||||
X(a)
|
||||
EOF
|
||||
|
||||
check_construct input
|
||||
check_true 'Xa'
|
||||
check_true 'G(a)'
|
||||
check_false '!Xa'
|
||||
check_false 'G(!a)'
|
||||
|
||||
cat >input <<EOF
|
||||
include input1
|
||||
%
|
||||
X(X(a))
|
||||
EOF
|
||||
|
||||
check_construct input
|
||||
check_true 'XXa'
|
||||
check_false '!XXa'
|
||||
|
||||
cat >input <<EOF
|
||||
include input1
|
||||
%
|
||||
G(a|b&!c)
|
||||
EOF
|
||||
|
||||
check_construct input
|
||||
check_true 'G (a|b&!c)'
|
||||
check_false '!G (a|b&!c)'
|
||||
|
||||
cat >input <<EOF
|
||||
include input1
|
||||
%
|
||||
F(a)
|
||||
EOF
|
||||
|
||||
check_construct input
|
||||
check_true 'Fa'
|
||||
check_false '!Fa'
|
||||
|
||||
cat >input <<EOF
|
||||
include input1
|
||||
%
|
||||
Strong(a,b)
|
||||
EOF
|
||||
|
||||
check_construct input
|
||||
check_true 'G(F(a))->G(F(b))'
|
||||
check_false '!(G(F(a))->G(F(b)))'
|
||||
|
||||
cat >input <<EOF
|
||||
include input1
|
||||
%
|
||||
a R b
|
||||
EOF
|
||||
|
||||
check_construct input
|
||||
check_true 'a R b'
|
||||
check_false '!(a R b)'
|
||||
|
||||
cat >input <<'EOF'
|
||||
T=(
|
||||
0 1 true
|
||||
1 0 $0
|
||||
)
|
||||
%
|
||||
T(f)
|
||||
EOF
|
||||
|
||||
check_construct input
|
||||
|
||||
cat >input <<'EOF'
|
||||
include input1
|
||||
Fusion=
|
||||
(
|
||||
0 1 $0 & !finish($0)
|
||||
1 1 !finish($0)
|
||||
1 2 $1 & finish($0)
|
||||
0 2 $0 & $1 & finish($0)
|
||||
accept 2
|
||||
)
|
||||
%
|
||||
Fusion(F(a),b)
|
||||
EOF
|
||||
|
||||
check_construct input
|
||||
|
||||
cat >input <<'EOF'
|
||||
Concat=
|
||||
(
|
||||
0 1 $0 & !finish($0)
|
||||
1 1 !finish($0)
|
||||
1 2 finish($0)
|
||||
0 2 $0 & finish($0)
|
||||
2 3 $1
|
||||
accept 3
|
||||
)
|
||||
%
|
||||
Concat(a,b)
|
||||
EOF
|
||||
|
||||
check_construct input
|
||||
check_true 'a&X(b)'
|
||||
check_false '!(a&X(b))'
|
||||
|
|
@ -54,9 +54,7 @@
|
|||
#include "tgbaalgos/rundotdec.hh"
|
||||
#include "tgbaalgos/sccfilter.hh"
|
||||
#include "tgbaalgos/safety.hh"
|
||||
#include "tgbaalgos/eltl2tgba_lacim.hh"
|
||||
#include "tgbaalgos/gtec/gtec.hh"
|
||||
#include "eltlparse/public.hh"
|
||||
#include "misc/timer.hh"
|
||||
#include "tgbaalgos/stats.hh"
|
||||
#include "tgbaalgos/scc.hh"
|
||||
|
|
@ -105,9 +103,9 @@ syntax(char* prog)
|
|||
if (slash && (strncmp(slash + 1, "lt-", 3) == 0))
|
||||
prog = slash + 4;
|
||||
|
||||
std::cerr << "Usage: "<< prog << " [-f|-l|-le|-taa] [OPTIONS...] formula"
|
||||
std::cerr << "Usage: "<< prog << " [-f|-l|-taa] [OPTIONS...] formula"
|
||||
<< std::endl
|
||||
<< " "<< prog << " [-f|-l|-le|-taa] -F [OPTIONS...] file"
|
||||
<< " "<< prog << " [-f|-l|-taa] -F [OPTIONS...] file"
|
||||
<< std::endl
|
||||
<< " "<< prog << " -X [OPTIONS...] file" << std::endl
|
||||
<< std::endl
|
||||
|
|
@ -146,8 +144,6 @@ syntax(char* prog)
|
|||
<< " (default)" << std::endl
|
||||
<< " -l use Couvreur's LaCIM algorithm for LTL "
|
||||
<< std::endl
|
||||
<< " -le use Couvreur's LaCIM algorithm for ELTL"
|
||||
<< std::endl
|
||||
<< " -taa use Tauriainen's TAA-based algorithm for LTL"
|
||||
<< std::endl
|
||||
<< " -u use Compositional translation"
|
||||
|
|
@ -169,14 +165,12 @@ syntax(char* prog)
|
|||
<< "(implies -f)" << std::endl
|
||||
<< std::endl
|
||||
|
||||
<< "Options for Couvreur's LaCIM algorithm (-l or -le):"
|
||||
<< "Options for Couvreur's LaCIM algorithm (-l):"
|
||||
<< std::endl
|
||||
<< " -a display the acceptance_conditions BDD, not the "
|
||||
<< "reachability graph"
|
||||
<< std::endl
|
||||
<< " -A same as -a, but as a set" << std::endl
|
||||
<< " -lo pre-define standard LTL operators as automata "
|
||||
<< "(implies -le)" << std::endl
|
||||
<< " -r display the relation BDD, not the reachability graph"
|
||||
<< std::endl
|
||||
<< " -R same as -r, but as a set" << std::endl
|
||||
|
|
@ -357,9 +351,7 @@ main(int argc, char** argv)
|
|||
bool utf8_opt = false;
|
||||
enum { NoDegen, DegenTBA, DegenSBA } degeneralize_opt = NoDegen;
|
||||
enum { TransitionLabeled, StateLabeled } labeling_opt = TransitionLabeled;
|
||||
enum { TransFM, TransLaCIM, TransLaCIM_ELTL, TransLaCIM_ELTL_ops, TransTAA,
|
||||
TransCompo }
|
||||
translation = TransFM;
|
||||
enum { TransFM, TransLaCIM, TransTAA, TransCompo } translation = TransFM;
|
||||
bool fm_red = false;
|
||||
bool fm_exprop_opt = false;
|
||||
bool fm_symb_merge_opt = true;
|
||||
|
|
@ -625,16 +617,6 @@ main(int argc, char** argv)
|
|||
{
|
||||
translation = TransLaCIM;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-le"))
|
||||
{
|
||||
/* -lo is documented to imply -le, so do not overwrite it. */
|
||||
if (translation != TransLaCIM_ELTL_ops)
|
||||
translation = TransLaCIM_ELTL;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-lo"))
|
||||
{
|
||||
translation = TransLaCIM_ELTL_ops;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-L"))
|
||||
{
|
||||
fair_loop_approx = true;
|
||||
|
|
@ -1050,34 +1032,6 @@ main(int argc, char** argv)
|
|||
exit_code = spot::ltl::format_parse_errors(std::cerr, input, pel);
|
||||
}
|
||||
break;
|
||||
case TransLaCIM_ELTL:
|
||||
{
|
||||
spot::eltl::parse_error_list p;
|
||||
tm.start("parsing formula");
|
||||
f = spot::eltl::parse_string(input, p, env, false);
|
||||
tm.stop("parsing formula");
|
||||
exit_code = spot::eltl::format_parse_errors(std::cerr, p);
|
||||
}
|
||||
break;
|
||||
case TransLaCIM_ELTL_ops:
|
||||
{
|
||||
// Call the LTL parser first to handle operators such as
|
||||
// [] or <> and rewrite the output as a string with G or F.
|
||||
// Then prepend definitions of usual LTL operators, and parse
|
||||
// the result again as an ELTL formula.
|
||||
spot::ltl::parse_error_list pel;
|
||||
tm.start("parsing formula");
|
||||
f = spot::ltl::parse(input, pel, env, debug_opt);
|
||||
input = ltl_defs();
|
||||
input += "%";
|
||||
input += spot::ltl::to_string(f, true);
|
||||
f->destroy();
|
||||
spot::eltl::parse_error_list p;
|
||||
f = spot::eltl::parse_string(input, p, env, debug_opt);
|
||||
tm.stop("parsing formula");
|
||||
exit_code = spot::eltl::format_parse_errors(std::cerr, p);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1261,10 +1215,6 @@ main(int argc, char** argv)
|
|||
case TransLaCIM:
|
||||
a = concrete = spot::ltl_to_tgba_lacim(f, dict);
|
||||
break;
|
||||
case TransLaCIM_ELTL:
|
||||
case TransLaCIM_ELTL_ops:
|
||||
a = concrete = spot::eltl_to_tgba_lacim(f, dict);
|
||||
break;
|
||||
}
|
||||
tm.stop("translating formula");
|
||||
to_free = a;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 2012, 2013 Laboratoire de Recherche et
|
||||
# Copyright (C) 2012, 2013, 2014 Laboratoire de Recherche et
|
||||
# Développement de l'Epita (LRDE).
|
||||
#
|
||||
# This file is part of Spot, a model checking library.
|
||||
|
|
@ -48,6 +48,3 @@ ltl2tgba=../ltl2tgba
|
|||
"$ltl2tgba -t -taa -r4 -c %f > %T" \
|
||||
"$ltl2tgba -t -taa -r4 -R3 -RDS %f > %T"
|
||||
|
||||
# Disabled because too slow, and too big automata produced.
|
||||
# "$ltl2tgba -t -lo -r4 %f > %T"
|
||||
# "$ltl2tgba -t -lo -R3b -r4 %f > %T" \
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
#!/bin/sh
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 2009, 2010, 2011, 2012 Laboratoire de Recherche et
|
||||
# Développement de l'Epita (LRDE).
|
||||
|
||||
# Copyright (C) 2009, 2010, 2011, 2012, 2014 Laboratoire de Recherche
|
||||
# et Développement de l'Epita (LRDE).
|
||||
|
||||
# Copyright (C) 2003, 2004, 2005, 2006, 2007 Laboratoire
|
||||
# d'Informatique de Paris 6 (LIP6), département Systèmes Répartis
|
||||
# Coopératifs (SRC), Université Pierre et Marie Curie.
|
||||
|
|
@ -62,30 +64,6 @@ Algorithm
|
|||
Enabled = no
|
||||
}
|
||||
|
||||
Algorithm
|
||||
{
|
||||
Name = "Spot (Couvreur -- LaCIM), eltl"
|
||||
Path = "${LBTT_TRANSLATE}"
|
||||
Parameters = "--spot '../ltl2tgba -F -lo -t'"
|
||||
Enabled = yes
|
||||
}
|
||||
|
||||
Algorithm
|
||||
{
|
||||
Name = "Spot (Couvreur -- LaCIM), eltl + delete_unaccepting_scc"
|
||||
Path = "${LBTT_TRANSLATE}"
|
||||
Parameters = "--spot '../ltl2tgba -F -lo -t -R3b'"
|
||||
Enabled = yes
|
||||
}
|
||||
|
||||
Algorithm
|
||||
{
|
||||
Name = "Spot (Couvreur -- LaCIM), eltl + post reduction with scc"
|
||||
Path = "${LBTT_TRANSLATE}"
|
||||
Parameters = "--spot '../ltl2tgba -F -lo -t -R3'"
|
||||
Enabled = no
|
||||
}
|
||||
|
||||
Algorithm
|
||||
{
|
||||
Name = "Spot (Couvreur -- FM)"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue