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:
Alexandre Duret-Lutz 2014-07-04 02:55:14 +02:00
parent 06b3a80af3
commit af8ce5dfa1
25 changed files with 13 additions and 2059 deletions

View file

@ -79,7 +79,6 @@ tripprod_SOURCES = tripprod.cc
TESTS = \
intvcomp.test \
bitvect.test \
eltl2tgba.test \
explicit.test \
explicit2.test \
ltlcross3.test \

View file

@ -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))'

View file

@ -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;

View file

@ -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" \

View file

@ -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)"