save: remove
Get rid of the output in Spot's format. This finally fixes #1. * src/tgbaalgos/save.cc, src/tgbaalgos/save.hh: Delete. * src/tgbaalgos/Makefile.am: Adjust. * src/ltlvisit/contain.cc: Remove useless includes. * src/bin/dstar2tgba.cc, src/bin/common_aoutput.cc, src/bin/common_aoutput.hh: Remove the "Spot" output. * doc/org/dstar2tgba.org, doc/org/ioltl.org, doc/org/ltl2tgba.org, doc/org/oaut.org: Update doc. * NEWS: Mention that Spot i/o is gone. * src/tgbatest/randtgba.cc: Output in HOA. * src/tgbatest/randtgba.test: Use randaut instead of randtgba. * wrap/python/spot.i: Do not provide binding for save.hh
This commit is contained in:
parent
a246c3b8ba
commit
dbd824c539
15 changed files with 35 additions and 177 deletions
5
NEWS
5
NEWS
|
|
@ -218,6 +218,11 @@ New in spot 1.99a (not yet released)
|
||||||
- The unused implementation of state-based alternating Büchi automata
|
- The unused implementation of state-based alternating Büchi automata
|
||||||
has been removed.
|
has been removed.
|
||||||
|
|
||||||
|
- Input and output in the old, Spot-specific, text format for
|
||||||
|
TGBA, has been fully removed. We now use HOA everywhere. (In
|
||||||
|
case you have a file in this format, install Spot 1.2.6 and use
|
||||||
|
"src/tgbatest/ltl2tgba -H -X file" to convert the file to HOA.)
|
||||||
|
|
||||||
New in spot 1.2.6a (not yet released)
|
New in spot 1.2.6a (not yet released)
|
||||||
|
|
||||||
Nothing yet.
|
Nothing yet.
|
||||||
|
|
|
||||||
|
|
@ -318,8 +318,9 @@ dstar2tgba --help | sed -n '/Output format:/,/^$/p' | sed '1d;$d'
|
||||||
--lbtt[=t] LBTT's format (add =t to force transition-based
|
--lbtt[=t] LBTT's format (add =t to force transition-based
|
||||||
acceptance even on Büchi automata)
|
acceptance even on Büchi automata)
|
||||||
--name=FORMAT set the name of the output automaton
|
--name=FORMAT set the name of the output automaton
|
||||||
-s, --spin Spin neverclaim (implies --ba)
|
-s, --spin[=6|c] Spin neverclaim (implies --ba). Add letters to
|
||||||
--spot SPOT's format
|
select (6) Spin's 6.2.4 style, (c) comments on
|
||||||
|
states
|
||||||
--stats=FORMAT output statistics about the automaton
|
--stats=FORMAT output statistics about the automaton
|
||||||
#+end_example
|
#+end_example
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -150,8 +150,10 @@ ltlfilt --help | sed -n '/Output options:/,/^$/p' | sed '1d;$d'
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
#+begin_example
|
#+begin_example
|
||||||
|
-n, --max-count=NUM output at most NUM formulas
|
||||||
|
-q, --quiet suppress all normal output
|
||||||
-8, --utf8 output using UTF-8 characters
|
-8, --utf8 output using UTF-8 characters
|
||||||
--csv quote the formula for use in a CSV file
|
--csv-escape quote the formula for use in a CSV file
|
||||||
--format=FORMAT specify how each line should be output (default:
|
--format=FORMAT specify how each line should be output (default:
|
||||||
"%f")
|
"%f")
|
||||||
-l, --lbt output in LBT's syntax
|
-l, --lbt output in LBT's syntax
|
||||||
|
|
|
||||||
|
|
@ -275,8 +275,9 @@ ltl2tgba --help | sed -n '/Output format:/,/^$/p' | sed '1d;$d'
|
||||||
acceptance even on Büchi automata)
|
acceptance even on Büchi automata)
|
||||||
--name=FORMAT set the name of the output automaton
|
--name=FORMAT set the name of the output automaton
|
||||||
-q, --quiet suppress all normal output
|
-q, --quiet suppress all normal output
|
||||||
-s, --spin Spin neverclaim (implies --ba)
|
-s, --spin[=6|c] Spin neverclaim (implies --ba). Add letters to
|
||||||
--spot SPOT's format
|
select (6) Spin's 6.2.4 style, (c) comments on
|
||||||
|
states
|
||||||
--stats=FORMAT output statistics about the automaton
|
--stats=FORMAT output statistics about the automaton
|
||||||
#+end_example
|
#+end_example
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,9 @@ ltl2tgba --help | sed -n '/Output format:/,/^$/p' | sed '1d;$d'
|
||||||
acceptance even on Büchi automata)
|
acceptance even on Büchi automata)
|
||||||
--name=FORMAT set the name of the output automaton
|
--name=FORMAT set the name of the output automaton
|
||||||
-q, --quiet suppress all normal output
|
-q, --quiet suppress all normal output
|
||||||
-s, --spin Spin neverclaim (implies --ba)
|
-s, --spin[=6|c] Spin neverclaim (implies --ba). Add letters to
|
||||||
--spot SPOT's format
|
select (6) Spin's 6.2.4 style, (c) comments on
|
||||||
|
states
|
||||||
--stats=FORMAT output statistics about the automaton
|
--stats=FORMAT output statistics about the automaton
|
||||||
#+end_example
|
#+end_example
|
||||||
|
|
||||||
|
|
@ -44,14 +45,11 @@ can concatenate multiple automata (and even mix these three formats in
|
||||||
the same stream), and the tools will be able to read and process them
|
the same stream), and the tools will be able to read and process them
|
||||||
in sequence.
|
in sequence.
|
||||||
|
|
||||||
The other possible outputs are [[http://www.graphviz.org/][GraphViz]] output (=--dot=), Spot's
|
The other possible outputs are [[http://www.graphviz.org/][GraphViz]] output (=--dot=), various
|
||||||
historical by deprecated format (=--spot=), various statistics
|
statistics (=--stats=), or nothing at all (=--quiet=). It may seem
|
||||||
(=--stats=), or nothing at all (=--quiet=). Of course it may seem
|
strange to ask a tool to not output anything, but it makes sense when
|
||||||
strange to ask a tool to not output anything, but it can make sense if
|
|
||||||
only the exit status matters (for instance using [[file:autfilt.org][=autfilt=]] to check
|
only the exit status matters (for instance using [[file:autfilt.org][=autfilt=]] to check
|
||||||
whether an input automaton has some property) or if we are only doing
|
whether an input automaton has some property) or for timing purposes.
|
||||||
some timing.
|
|
||||||
|
|
||||||
|
|
||||||
* HOAF output
|
* HOAF output
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,6 @@
|
||||||
#include "tgbaalgos/lbtt.hh"
|
#include "tgbaalgos/lbtt.hh"
|
||||||
#include "tgbaalgos/hoa.hh"
|
#include "tgbaalgos/hoa.hh"
|
||||||
#include "tgbaalgos/neverclaim.hh"
|
#include "tgbaalgos/neverclaim.hh"
|
||||||
#include "tgbaalgos/save.hh"
|
|
||||||
|
|
||||||
automaton_format_t automaton_format = Dot;
|
automaton_format_t automaton_format = Dot;
|
||||||
static const char* opt_dot = nullptr;
|
static const char* opt_dot = nullptr;
|
||||||
|
|
@ -42,9 +41,8 @@ static const char* stats = "";
|
||||||
|
|
||||||
#define OPT_DOT 1
|
#define OPT_DOT 1
|
||||||
#define OPT_LBTT 2
|
#define OPT_LBTT 2
|
||||||
#define OPT_SPOT 3
|
#define OPT_STATS 3
|
||||||
#define OPT_STATS 4
|
#define OPT_NAME 4
|
||||||
#define OPT_NAME 5
|
|
||||||
|
|
||||||
static const argp_option options[] =
|
static const argp_option options[] =
|
||||||
{
|
{
|
||||||
|
|
@ -68,7 +66,6 @@ static const argp_option options[] =
|
||||||
{ "spin", 's', "6|c", OPTION_ARG_OPTIONAL, "Spin neverclaim (implies --ba)."
|
{ "spin", 's', "6|c", OPTION_ARG_OPTIONAL, "Spin neverclaim (implies --ba)."
|
||||||
" Add letters to select (6) Spin's 6.2.4 style, (c) comments on states",
|
" Add letters to select (6) Spin's 6.2.4 style, (c) comments on states",
|
||||||
0 },
|
0 },
|
||||||
{ "spot", OPT_SPOT, 0, 0, "SPOT's format", 0 },
|
|
||||||
{ "utf8", '8', 0, 0, "enable UTF-8 characters in output "
|
{ "utf8", '8', 0, 0, "enable UTF-8 characters in output "
|
||||||
"(ignored with --lbtt or --spin)", 0 },
|
"(ignored with --lbtt or --spin)", 0 },
|
||||||
{ "stats", OPT_STATS, "FORMAT", 0,
|
{ "stats", OPT_STATS, "FORMAT", 0,
|
||||||
|
|
@ -188,9 +185,6 @@ int parse_opt_aoutput(int key, char* arg, struct argp_state*)
|
||||||
case OPT_NAME:
|
case OPT_NAME:
|
||||||
opt_name = arg;
|
opt_name = arg;
|
||||||
break;
|
break;
|
||||||
case OPT_SPOT:
|
|
||||||
automaton_format = Spot;
|
|
||||||
break;
|
|
||||||
case OPT_STATS:
|
case OPT_STATS:
|
||||||
if (!*arg)
|
if (!*arg)
|
||||||
error(2, 0, "empty format string for --stats");
|
error(2, 0, "empty format string for --stats");
|
||||||
|
|
@ -248,9 +242,6 @@ automaton_printer::print(const spot::tgba_digraph_ptr& aut,
|
||||||
case Hoa:
|
case Hoa:
|
||||||
spot::hoa_reachable(std::cout, aut, hoa_opt) << '\n';
|
spot::hoa_reachable(std::cout, aut, hoa_opt) << '\n';
|
||||||
break;
|
break;
|
||||||
case Spot:
|
|
||||||
spot::tgba_save_reachable(std::cout, aut);
|
|
||||||
break;
|
|
||||||
case Spin:
|
case Spin:
|
||||||
spot::never_claim_reachable(std::cout, aut, opt_never);
|
spot::never_claim_reachable(std::cout, aut, opt_never);
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,6 @@ enum automaton_format_t {
|
||||||
Lbtt,
|
Lbtt,
|
||||||
Lbtt_t,
|
Lbtt_t,
|
||||||
Spin,
|
Spin,
|
||||||
Spot,
|
|
||||||
Stats,
|
Stats,
|
||||||
Hoa,
|
Hoa,
|
||||||
Quiet,
|
Quiet,
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,6 @@
|
||||||
#include "tgbaalgos/lbtt.hh"
|
#include "tgbaalgos/lbtt.hh"
|
||||||
#include "tgbaalgos/hoa.hh"
|
#include "tgbaalgos/hoa.hh"
|
||||||
#include "tgbaalgos/neverclaim.hh"
|
#include "tgbaalgos/neverclaim.hh"
|
||||||
#include "tgbaalgos/save.hh"
|
|
||||||
#include "tgbaalgos/stats.hh"
|
#include "tgbaalgos/stats.hh"
|
||||||
#include "tgba/bddprint.hh"
|
#include "tgba/bddprint.hh"
|
||||||
#include "misc/optionmap.hh"
|
#include "misc/optionmap.hh"
|
||||||
|
|
@ -52,9 +51,8 @@ will be output.";
|
||||||
#define OPT_TGBA 1
|
#define OPT_TGBA 1
|
||||||
#define OPT_DOT 2
|
#define OPT_DOT 2
|
||||||
#define OPT_LBTT 3
|
#define OPT_LBTT 3
|
||||||
#define OPT_SPOT 4
|
#define OPT_STATS 4
|
||||||
#define OPT_STATS 5
|
#define OPT_NAME 5
|
||||||
#define OPT_NAME 6
|
|
||||||
|
|
||||||
static const argp_option options[] =
|
static const argp_option options[] =
|
||||||
{
|
{
|
||||||
|
|
@ -88,7 +86,6 @@ static const argp_option options[] =
|
||||||
{ "spin", 's', "6|c", OPTION_ARG_OPTIONAL, "Spin neverclaim (implies --ba)."
|
{ "spin", 's', "6|c", OPTION_ARG_OPTIONAL, "Spin neverclaim (implies --ba)."
|
||||||
" Add letters to select (6) Spin's 6.2.4 style, (c) comments on states",
|
" Add letters to select (6) Spin's 6.2.4 style, (c) comments on states",
|
||||||
0 },
|
0 },
|
||||||
{ "spot", OPT_SPOT, 0, 0, "SPOT's format", 0 },
|
|
||||||
{ "utf8", '8', 0, 0, "enable UTF-8 characters in output "
|
{ "utf8", '8', 0, 0, "enable UTF-8 characters in output "
|
||||||
"(ignored with --lbtt or --spin)", 0 },
|
"(ignored with --lbtt or --spin)", 0 },
|
||||||
{ "stats", OPT_STATS, "FORMAT", 0,
|
{ "stats", OPT_STATS, "FORMAT", 0,
|
||||||
|
|
@ -134,7 +131,7 @@ static const struct argp_child children[] =
|
||||||
{ 0, 0, 0, 0 }
|
{ 0, 0, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
enum output_format { Dot, Lbtt, Lbtt_t, Spin, Spot, Stats, Hoa };
|
enum output_format { Dot, Lbtt, Lbtt_t, Spin, Stats, Hoa };
|
||||||
static output_format format = Dot;
|
static output_format format = Dot;
|
||||||
static const char* opt_dot = nullptr;
|
static const char* opt_dot = nullptr;
|
||||||
static const char* stats = "";
|
static const char* stats = "";
|
||||||
|
|
@ -199,9 +196,6 @@ parse_opt(int key, char* arg, struct argp_state*)
|
||||||
case OPT_NAME:
|
case OPT_NAME:
|
||||||
opt_name = arg;
|
opt_name = arg;
|
||||||
break;
|
break;
|
||||||
case OPT_SPOT:
|
|
||||||
format = Spot;
|
|
||||||
break;
|
|
||||||
case OPT_STATS:
|
case OPT_STATS:
|
||||||
if (!*arg)
|
if (!*arg)
|
||||||
error(2, 0, "empty format string for --stats");
|
error(2, 0, "empty format string for --stats");
|
||||||
|
|
@ -364,9 +358,6 @@ namespace
|
||||||
case Hoa:
|
case Hoa:
|
||||||
spot::hoa_reachable(std::cout, aut, hoa_opt) << '\n';
|
spot::hoa_reachable(std::cout, aut, hoa_opt) << '\n';
|
||||||
break;
|
break;
|
||||||
case Spot:
|
|
||||||
spot::tgba_save_reachable(std::cout, aut);
|
|
||||||
break;
|
|
||||||
case Spin:
|
case Spin:
|
||||||
spot::never_claim_reachable(std::cout, aut, opt_never);
|
spot::never_claim_reachable(std::cout, aut, opt_never);
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,6 @@
|
||||||
#include "ltlast/multop.hh"
|
#include "ltlast/multop.hh"
|
||||||
#include "ltlast/constant.hh"
|
#include "ltlast/constant.hh"
|
||||||
#include "tgbaalgos/product.hh"
|
#include "tgbaalgos/product.hh"
|
||||||
#include "tgbaalgos/gtec/gtec.hh"
|
|
||||||
#include "tgbaalgos/save.hh"
|
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,6 @@ tgbaalgos_HEADERS = \
|
||||||
relabel.hh \
|
relabel.hh \
|
||||||
replayrun.hh \
|
replayrun.hh \
|
||||||
safety.hh \
|
safety.hh \
|
||||||
save.hh \
|
|
||||||
sccfilter.hh \
|
sccfilter.hh \
|
||||||
scc.hh \
|
scc.hh \
|
||||||
sccinfo.hh \
|
sccinfo.hh \
|
||||||
|
|
@ -116,7 +115,6 @@ libtgbaalgos_la_SOURCES = \
|
||||||
replayrun.cc \
|
replayrun.cc \
|
||||||
relabel.cc \
|
relabel.cc \
|
||||||
safety.cc \
|
safety.cc \
|
||||||
save.cc \
|
|
||||||
scc.cc \
|
scc.cc \
|
||||||
sccinfo.cc \
|
sccinfo.cc \
|
||||||
sccfilter.cc \
|
sccfilter.cc \
|
||||||
|
|
|
||||||
|
|
@ -1,86 +0,0 @@
|
||||||
// -*- coding: utf-8 -*-
|
|
||||||
// Copyright (C) 2011, 2012, 2014 Laboratoire de Recherche et
|
|
||||||
// Développement de l'Epita (LRDE)
|
|
||||||
// Copyright (C) 2003, 2004, 2005 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 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/>.
|
|
||||||
|
|
||||||
#include <ostream>
|
|
||||||
#include "save.hh"
|
|
||||||
#include "tgba/bddprint.hh"
|
|
||||||
#include "ltlvisit/tostring.hh"
|
|
||||||
#include "ltlast/atomic_prop.hh"
|
|
||||||
#include "reachiter.hh"
|
|
||||||
#include "misc/escape.hh"
|
|
||||||
|
|
||||||
namespace spot
|
|
||||||
{
|
|
||||||
namespace
|
|
||||||
{
|
|
||||||
class save_bfs: public tgba_reachable_iterator_breadth_first
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
save_bfs(const const_tgba_ptr& a, std::ostream& os)
|
|
||||||
: tgba_reachable_iterator_breadth_first(a), os_(os)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
start()
|
|
||||||
{
|
|
||||||
os_ << "acc = ";
|
|
||||||
aut_->acc().format_quoted(os_, aut_->acc().all_sets())
|
|
||||||
<< ";\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
process_state(const state* s, int, tgba_succ_iterator* si)
|
|
||||||
{
|
|
||||||
const bdd_dict_ptr d = aut_->get_dict();
|
|
||||||
std::string cur = escape_str(aut_->format_state(s));
|
|
||||||
if (si->first())
|
|
||||||
do
|
|
||||||
{
|
|
||||||
state* dest = si->current_state();
|
|
||||||
os_ << '"' << cur << "\", \"";
|
|
||||||
escape_str(os_, aut_->format_state(dest));
|
|
||||||
os_ << "\", \"";
|
|
||||||
escape_str(os_, bdd_format_formula(d, si->current_condition()));
|
|
||||||
os_ << "\",";
|
|
||||||
if (si->current_acceptance_conditions())
|
|
||||||
aut_->acc().format_quoted(os_ << ' ',
|
|
||||||
si->current_acceptance_conditions());
|
|
||||||
os_ << ";\n";
|
|
||||||
dest->destroy();
|
|
||||||
}
|
|
||||||
while (si->next());
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
std::ostream& os_;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
std::ostream&
|
|
||||||
tgba_save_reachable(std::ostream& os, const_tgba_ptr g)
|
|
||||||
{
|
|
||||||
save_bfs b(g, os);
|
|
||||||
b.run();
|
|
||||||
return os;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
// -*- coding: utf-8 -*-
|
|
||||||
// Copyright (C) 2013 Laboratoire de Recherche et Developpement
|
|
||||||
// de l'Epita (LRDE).
|
|
||||||
// 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 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/>.
|
|
||||||
|
|
||||||
#ifndef SPOT_TGBAALGOS_SAVE_HH
|
|
||||||
# define SPOT_TGBAALGOS_SAVE_HH
|
|
||||||
|
|
||||||
#include "tgba/tgba.hh"
|
|
||||||
#include <iosfwd>
|
|
||||||
|
|
||||||
namespace spot
|
|
||||||
{
|
|
||||||
/// \ingroup tgba_io
|
|
||||||
/// \brief Save reachable states in text format.
|
|
||||||
SPOT_API std::ostream&
|
|
||||||
tgba_save_reachable(std::ostream& os, const_tgba_ptr g);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // SPOT_TGBAALGOS_SAVE_HH
|
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
#include "ltlvisit/length.hh"
|
#include "ltlvisit/length.hh"
|
||||||
#include "ltlvisit/simplify.hh"
|
#include "ltlvisit/simplify.hh"
|
||||||
#include "tgbaalgos/randomgraph.hh"
|
#include "tgbaalgos/randomgraph.hh"
|
||||||
#include "tgbaalgos/save.hh"
|
#include "tgbaalgos/hoa.hh"
|
||||||
#include "tgbaalgos/stats.hh"
|
#include "tgbaalgos/stats.hh"
|
||||||
#include "ltlenv/defaultenv.hh"
|
#include "ltlenv/defaultenv.hh"
|
||||||
#include "tgbaalgos/dotty.hh"
|
#include "tgbaalgos/dotty.hh"
|
||||||
|
|
@ -924,7 +924,7 @@ main(int argc, char** argv)
|
||||||
if (!opt_ec)
|
if (!opt_ec)
|
||||||
{
|
{
|
||||||
if (!opt_0 && !opt_dot)
|
if (!opt_0 && !opt_dot)
|
||||||
tgba_save_reachable(std::cout, a);
|
hoa_reachable(std::cout, a, nullptr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# Copyright (C) 2010, 2014 Laboratoire de Recherche et Development de
|
# Copyright (C) 2010, 2014, 2015 Laboratoire de Recherche et Development de
|
||||||
# l'EPITA.
|
# l'EPITA.
|
||||||
#
|
#
|
||||||
# This file is part of Spot, a model checking library.
|
# This file is part of Spot, a model checking library.
|
||||||
|
|
@ -23,12 +23,11 @@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
for n in 10 20 30 40 50 60 70 80 90 100 200 500 1000; do
|
for n in 10 20 30 40 50 60 70 80 90 100 200 500 1000; do
|
||||||
# Make sure graph generated by randtgba have successors for each
|
# Make sure graph generated by randaut have successors for each
|
||||||
# of their $n nodes.
|
# of their $n nodes.
|
||||||
r=`../randtgba -n $n a b c | sed -n 's/^"\([0-9]*\)".*/\1/p' |
|
../../bin/randaut -S$n 3 -Hl |
|
||||||
sort -u | wc -l`
|
sed 's/.*--BODY--//;s/State:/\n&/g;s/--END--//' > out
|
||||||
if test "$r" -eq "$n"; then :; else
|
grep -q 'State: [0-9][0-9]* .*$' out
|
||||||
echo "test failed for n=$n"
|
grep -q 'State: [0-9]* *$' out && exit 1
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
|
true
|
||||||
|
|
|
||||||
|
|
@ -122,7 +122,6 @@ namespace std {
|
||||||
#include "tgbaalgos/magic.hh"
|
#include "tgbaalgos/magic.hh"
|
||||||
#include "tgbaalgos/minimize.hh"
|
#include "tgbaalgos/minimize.hh"
|
||||||
#include "tgbaalgos/neverclaim.hh"
|
#include "tgbaalgos/neverclaim.hh"
|
||||||
#include "tgbaalgos/save.hh"
|
|
||||||
#include "tgbaalgos/safety.hh"
|
#include "tgbaalgos/safety.hh"
|
||||||
#include "tgbaalgos/sccfilter.hh"
|
#include "tgbaalgos/sccfilter.hh"
|
||||||
#include "tgbaalgos/stats.hh"
|
#include "tgbaalgos/stats.hh"
|
||||||
|
|
@ -253,7 +252,6 @@ namespace spot {
|
||||||
%include "tgbaalgos/magic.hh"
|
%include "tgbaalgos/magic.hh"
|
||||||
%include "tgbaalgos/minimize.hh"
|
%include "tgbaalgos/minimize.hh"
|
||||||
%include "tgbaalgos/neverclaim.hh"
|
%include "tgbaalgos/neverclaim.hh"
|
||||||
%include "tgbaalgos/save.hh"
|
|
||||||
%include "tgbaalgos/safety.hh"
|
%include "tgbaalgos/safety.hh"
|
||||||
%include "tgbaalgos/sccfilter.hh"
|
%include "tgbaalgos/sccfilter.hh"
|
||||||
%include "tgbaalgos/stats.hh"
|
%include "tgbaalgos/stats.hh"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue