* src/sanity/style.test: Catch occurrences of "accepting condition".
* bench/emptchk/ltl-human.sh, bench/emptchk/ltl-random.sh, src/sanity/style.test, src/tgba/bdddict.cc, src/tgba/succiterconcrete.hh, src/tgba/tgbabddcoredata.hh, src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh, src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh, src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh, src/tgbaalgos/se05.cc, src/tgbaalgos/se05.hh, src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03.hh, src/tgbaalgos/tau03opt.cc, src/tgbaalgos/tau03opt.hh, src/tgbatest/dfs.test: Replace them by "acceptance condition".
This commit is contained in:
parent
7bbe3f5573
commit
a2cbe9cab8
20 changed files with 57 additions and 40 deletions
12
ChangeLog
12
ChangeLog
|
|
@ -1,5 +1,17 @@
|
||||||
2005-02-20 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
2005-02-20 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||||||
|
|
||||||
|
* src/sanity/style.test: Catch occurrences of "accepting condition".
|
||||||
|
* bench/emptchk/ltl-human.sh, bench/emptchk/ltl-random.sh,
|
||||||
|
src/sanity/style.test, src/tgba/bdddict.cc,
|
||||||
|
src/tgba/succiterconcrete.hh, src/tgba/tgbabddcoredata.hh,
|
||||||
|
src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh,
|
||||||
|
src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh,
|
||||||
|
src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh,
|
||||||
|
src/tgbaalgos/se05.cc, src/tgbaalgos/se05.hh,
|
||||||
|
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03.hh,
|
||||||
|
src/tgbaalgos/tau03opt.cc, src/tgbaalgos/tau03opt.hh,
|
||||||
|
src/tgbatest/dfs.test: Replace them by "acceptance condition".
|
||||||
|
|
||||||
* src/tgbaalgos/tau03opt.hh, src/tgbaalgos/tau03.hh: Include
|
* src/tgbaalgos/tau03opt.hh, src/tgbaalgos/tau03.hh: Include
|
||||||
misc/optionmap.hh.
|
misc/optionmap.hh.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,14 +25,14 @@ set -e
|
||||||
|
|
||||||
opts="-1 -D -e 15 -n 1024 -t 0.5 -r -z -i $FORMULAE"
|
opts="-1 -D -e 15 -n 1024 -t 0.5 -r -z -i $FORMULAE"
|
||||||
|
|
||||||
echo "WITHOUT ADDITIONAL ACCEPTING CONDITIONS"
|
echo "WITHOUT ADDITIONAL ACCEPTANCE CONDITIONS"
|
||||||
|
|
||||||
for d in 0.001 0.002 0.01; do
|
for d in 0.001 0.002 0.01; do
|
||||||
echo "density: $d"
|
echo "density: $d"
|
||||||
$RANDTGBA -A "$ALGORITHMS" -d $d $opts
|
$RANDTGBA -A "$ALGORITHMS" -d $d $opts
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "WITH 3 ADDITIONAL ACCEPTING CONDITIONS"
|
echo "WITH 3 ADDITIONAL ACCEPTANCE CONDITIONS"
|
||||||
|
|
||||||
for d in 0.001 0.002 0.01; do
|
for d in 0.001 0.002 0.01; do
|
||||||
echo "density: $d"
|
echo "density: $d"
|
||||||
|
|
|
||||||
|
|
@ -25,14 +25,14 @@ set -e
|
||||||
|
|
||||||
opts="-1 -D -e 15 -n 1024 -t 0.5 -f 5 -F 200 -l 5 -u -r -z a b c d"
|
opts="-1 -D -e 15 -n 1024 -t 0.5 -f 5 -F 200 -l 5 -u -r -z a b c d"
|
||||||
|
|
||||||
echo "WITHOUT ADDITIONAL ACCEPTING CONDITIONS"
|
echo "WITHOUT ADDITIONAL ACCEPTANCE CONDITIONS"
|
||||||
|
|
||||||
for d in 0.001 0.002 0.01; do
|
for d in 0.001 0.002 0.01; do
|
||||||
echo "density: $d"
|
echo "density: $d"
|
||||||
$RANDTGBA -A "$ALGORITHMS" -d $d $opts
|
$RANDTGBA -A "$ALGORITHMS" -d $d $opts
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "WITH 3 ADDITIONAL ACCEPTING CONDITIONS"
|
echo "WITH 3 ADDITIONAL ACCEPTANCE CONDITIONS"
|
||||||
|
|
||||||
for d in 0.001 0.002 0.01; do
|
for d in 0.001 0.002 0.01; do
|
||||||
echo "density: $d"
|
echo "density: $d"
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,11 @@ for dir in "${INCDIR-..}" "${INCDIR-..}"/../iface; do
|
||||||
|
|
||||||
fail=false
|
fail=false
|
||||||
|
|
||||||
|
# Check this before stripping comments and strings.
|
||||||
|
grep -i 'accepting cond' $file &&
|
||||||
|
diag 'accepting -> acceptance'
|
||||||
|
|
||||||
|
# Strip comments and strings.
|
||||||
sed 's,[ ]*//.*,,;s,"[^"]*","",g' < $file > $tmp
|
sed 's,[ ]*//.*,,;s,"[^"]*","",g' < $file > $tmp
|
||||||
|
|
||||||
grep '[ ]$' $tmp &&
|
grep '[ ]$' $tmp &&
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
|
|
@ -308,7 +308,7 @@ namespace spot
|
||||||
os << " " << fi->second + 1 << " (x" << refs << "): Next[";
|
os << " " << fi->second + 1 << " (x" << refs << "): Next[";
|
||||||
to_string(fi->first, os) << "]" << std::endl;
|
to_string(fi->first, os) << "]" << std::endl;
|
||||||
}
|
}
|
||||||
os << "Accepting Conditions:" << std::endl;
|
os << "Acceptance Conditions:" << std::endl;
|
||||||
for (fi = acc_map.begin(); fi != acc_map.end(); ++fi)
|
for (fi = acc_map.begin(); fi != acc_map.end(); ++fi)
|
||||||
{
|
{
|
||||||
os << " " << fi->second << " (x"
|
os << " " << fi->second << " (x"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
|
|
@ -64,7 +64,7 @@ namespace spot
|
||||||
/// atomic proposition and Next variables.
|
/// atomic proposition and Next variables.
|
||||||
bdd current_state_; ///< \brief Current successor, as a
|
bdd current_state_; ///< \brief Current successor, as a
|
||||||
/// conjunction of Now variables.
|
/// conjunction of Now variables.
|
||||||
bdd current_acc_; ///< \brief Accepting conditions for the current
|
bdd current_acc_; ///< \brief Acceptance conditions for the current
|
||||||
/// transition.
|
/// transition.
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
|
|
@ -59,7 +59,7 @@ namespace spot
|
||||||
/// a and \c b, we'll return <tt>(Acc[a]\&!Acc[b]\&!Acc[c]) \c | \c
|
/// a and \c b, we'll return <tt>(Acc[a]\&!Acc[b]\&!Acc[c]) \c | \c
|
||||||
/// (!Acc[a]\&Acc[b]\&!Acc[c])</tt>.
|
/// (!Acc[a]\&Acc[b]\&!Acc[c])</tt>.
|
||||||
///
|
///
|
||||||
/// Accepting conditions are attributed to transitions and are
|
/// Acceptance conditions are attributed to transitions and are
|
||||||
/// only concerned by atomic propositions (which label the
|
/// only concerned by atomic propositions (which label the
|
||||||
/// transitions) and Next variables (the destination). Typically,
|
/// transitions) and Next variables (the destination). Typically,
|
||||||
/// a transition should bear the variable \c Acc[b] if it doesn't
|
/// a transition should bear the variable \c Acc[b] if it doesn't
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
|
|
@ -415,11 +415,11 @@ namespace spot
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME
|
// FIXME:
|
||||||
// Be careful, we have to stock on s2 the accepting condition on the arc
|
// Be careful, we have to stock on s2 the acceptance condition on the arc
|
||||||
// leaving s1 (possible when the simulation is delayed). Since s2 simulate
|
// leaving s1 (possible when the simulation is delayed). Since s2 simulate
|
||||||
// s1, s2 has some label whose implies these of s1, so we can put the
|
// s1, s2 has some label whose implies these of s1, so we can put the
|
||||||
// accepting conditions on this arcs.
|
// acceptance conditions on this arcs.
|
||||||
for (tgba_explicit::state::const_iterator j = s1->begin();
|
for (tgba_explicit::state::const_iterator j = s1->begin();
|
||||||
j != s1->end(); ++j)
|
j != s1->end(); ++j)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ namespace spot
|
||||||
/// Remove all state which not lead to an accepting cycle.
|
/// Remove all state which not lead to an accepting cycle.
|
||||||
void prune_scc();
|
void prune_scc();
|
||||||
|
|
||||||
/// Remove some useless accepting condition.
|
/// Remove some useless acceptance condition.
|
||||||
void prune_acc();
|
void prune_acc();
|
||||||
|
|
||||||
/// Compute the maximal SCC of the automata.
|
/// Compute the maximal SCC of the automata.
|
||||||
|
|
@ -172,12 +172,12 @@ namespace spot
|
||||||
bool is_terminal(const spot::state* s,
|
bool is_terminal(const spot::state* s,
|
||||||
int n = -1);
|
int n = -1);
|
||||||
|
|
||||||
// Return false if the scc contains all the accepting condition.
|
// Return false if the scc contains all the acceptance conditions.
|
||||||
bool is_not_accepting(const spot::state* s,
|
bool is_not_accepting(const spot::state* s,
|
||||||
int n = -1);
|
int n = -1);
|
||||||
|
|
||||||
/// If a scc maximal do not contains all the accepting condition
|
/// If a scc maximal do not contains all the acceptance conditions
|
||||||
/// we can remove all the accepting condition in this scc.
|
/// we can remove all the acceptance conditions in this scc.
|
||||||
void remove_acc(const spot::state* s);
|
void remove_acc(const spot::state* s);
|
||||||
|
|
||||||
/// Remove all the state which belong to the same scc that s.
|
/// Remove all the state which belong to the same scc that s.
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ namespace spot
|
||||||
|
|
||||||
struct gv04: public emptiness_check, public ec_statistics
|
struct gv04: public emptiness_check, public ec_statistics
|
||||||
{
|
{
|
||||||
// The unique accepting condition of the automaton \a a,
|
// The unique acceptance condition of the automaton \a a,
|
||||||
// or bddfalse if there is no.
|
// or bddfalse if there is no.
|
||||||
bdd accepting;
|
bdd accepting;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ namespace spot
|
||||||
/// \brief Emptiness check based on Geldenhuys and Valmari's
|
/// \brief Emptiness check based on Geldenhuys and Valmari's
|
||||||
/// TACAS'04 paper.
|
/// TACAS'04 paper.
|
||||||
/// \ingroup emptiness_check_algorithms
|
/// \ingroup emptiness_check_algorithms
|
||||||
/// \pre The automaton \a a must have at most one accepting condition.
|
/// \pre The automaton \a a must have at most one acceptance condition.
|
||||||
///
|
///
|
||||||
/// The original algorithm, coming from the following paper, has only
|
/// The original algorithm, coming from the following paper, has only
|
||||||
/// been slightly modified to work on transition-based automata.
|
/// been slightly modified to work on transition-based automata.
|
||||||
|
|
|
||||||
|
|
@ -44,14 +44,14 @@ namespace spot
|
||||||
enum color {WHITE, BLUE, RED};
|
enum color {WHITE, BLUE, RED};
|
||||||
|
|
||||||
/// \brief Emptiness checker on spot::tgba automata having at most one
|
/// \brief Emptiness checker on spot::tgba automata having at most one
|
||||||
/// accepting condition (i.e. a TBA).
|
/// acceptance condition (i.e. a TBA).
|
||||||
template <typename heap>
|
template <typename heap>
|
||||||
class magic_search_ : public emptiness_check, public ec_statistics
|
class magic_search_ : public emptiness_check, public ec_statistics
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// \brief Initialize the Magic Search algorithm on the automaton \a a
|
/// \brief Initialize the Magic Search algorithm on the automaton \a a
|
||||||
///
|
///
|
||||||
/// \pre The automaton \a a must have at most one accepting
|
/// \pre The automaton \a a must have at most one acceptance
|
||||||
/// condition (i.e. it is a TBA).
|
/// condition (i.e. it is a TBA).
|
||||||
magic_search_(const tgba *a, size_t size, option_map o = option_map())
|
magic_search_(const tgba *a, size_t size, option_map o = option_map())
|
||||||
: emptiness_check(a, o),
|
: emptiness_check(a, o),
|
||||||
|
|
@ -175,7 +175,7 @@ namespace spot
|
||||||
/// State targeted by the red dfs.
|
/// State targeted by the red dfs.
|
||||||
const state* target;
|
const state* target;
|
||||||
|
|
||||||
/// The unique accepting condition of the automaton \a a.
|
/// The unique acceptance condition of the automaton \a a.
|
||||||
bdd all_cond;
|
bdd all_cond;
|
||||||
|
|
||||||
bool dfs_blue()
|
bool dfs_blue()
|
||||||
|
|
|
||||||
|
|
@ -35,13 +35,13 @@ namespace spot
|
||||||
|
|
||||||
/// \brief Returns an emptiness checker on the spot::tgba automaton \a a.
|
/// \brief Returns an emptiness checker on the spot::tgba automaton \a a.
|
||||||
///
|
///
|
||||||
/// \pre The automaton \a a must have at most one accepting condition (i.e.
|
/// \pre The automaton \a a must have at most one acceptance condition (i.e.
|
||||||
/// it is a TBA).
|
/// it is a TBA).
|
||||||
///
|
///
|
||||||
/// During the visit of \a a, the returned checker stores explicitely all
|
/// During the visit of \a a, the returned checker stores explicitely all
|
||||||
/// the traversed states.
|
/// the traversed states.
|
||||||
/// The method \a check() of the checker can be called several times
|
/// The method \a check() of the checker can be called several times
|
||||||
/// (until it returns a null pointer) to enumerate all the visited accepting
|
/// (until it returns a null pointer) to enumerate all the visited acceptance
|
||||||
/// paths. The implemented algorithm is the following:
|
/// paths. The implemented algorithm is the following:
|
||||||
///
|
///
|
||||||
/// \verbatim
|
/// \verbatim
|
||||||
|
|
@ -101,7 +101,7 @@ namespace spot
|
||||||
|
|
||||||
/// \brief Returns an emptiness checker on the spot::tgba automaton \a a.
|
/// \brief Returns an emptiness checker on the spot::tgba automaton \a a.
|
||||||
///
|
///
|
||||||
/// \pre The automaton \a a must have at most one accepting condition (i.e.
|
/// \pre The automaton \a a must have at most one acceptance condition (i.e.
|
||||||
/// it is a TBA).
|
/// it is a TBA).
|
||||||
///
|
///
|
||||||
/// During the visit of \a a, the returned checker does not store explicitely
|
/// During the visit of \a a, the returned checker does not store explicitely
|
||||||
|
|
|
||||||
|
|
@ -44,14 +44,14 @@ namespace spot
|
||||||
enum color {WHITE, CYAN, BLUE, RED};
|
enum color {WHITE, CYAN, BLUE, RED};
|
||||||
|
|
||||||
/// \brief Emptiness checker on spot::tgba automata having at most one
|
/// \brief Emptiness checker on spot::tgba automata having at most one
|
||||||
/// accepting condition (i.e. a TBA).
|
/// acceptance condition (i.e. a TBA).
|
||||||
template <typename heap>
|
template <typename heap>
|
||||||
class se05_search : public emptiness_check, public ec_statistics
|
class se05_search : public emptiness_check, public ec_statistics
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// \brief Initialize the Magic Search algorithm on the automaton \a a
|
/// \brief Initialize the Magic Search algorithm on the automaton \a a
|
||||||
///
|
///
|
||||||
/// \pre The automaton \a a must have at most one accepting
|
/// \pre The automaton \a a must have at most one acceptance
|
||||||
/// condition (i.e. it is a TBA).
|
/// condition (i.e. it is a TBA).
|
||||||
se05_search(const tgba *a, size_t size, option_map o = option_map())
|
se05_search(const tgba *a, size_t size, option_map o = option_map())
|
||||||
: emptiness_check(a, o),
|
: emptiness_check(a, o),
|
||||||
|
|
@ -172,7 +172,7 @@ namespace spot
|
||||||
/// by the last dfs visiting it.
|
/// by the last dfs visiting it.
|
||||||
heap h;
|
heap h;
|
||||||
|
|
||||||
/// The unique accepting condition of the automaton \a a.
|
/// The unique acceptance condition of the automaton \a a.
|
||||||
bdd all_cond;
|
bdd all_cond;
|
||||||
|
|
||||||
bool dfs_blue()
|
bool dfs_blue()
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ namespace spot
|
||||||
|
|
||||||
/// \brief Returns an emptiness check on the spot::tgba automaton \a a.
|
/// \brief Returns an emptiness check on the spot::tgba automaton \a a.
|
||||||
///
|
///
|
||||||
/// \pre The automaton \a a must have at most one accepting condition (i.e.
|
/// \pre The automaton \a a must have at most one acceptance condition (i.e.
|
||||||
/// it is a TBA).
|
/// it is a TBA).
|
||||||
///
|
///
|
||||||
/// During the visit of \a a, the returned checker stores explicitely all
|
/// During the visit of \a a, the returned checker stores explicitely all
|
||||||
|
|
@ -105,7 +105,7 @@ namespace spot
|
||||||
option_map o = option_map());
|
option_map o = option_map());
|
||||||
/// \brief Returns an emptiness checker on the spot::tgba automaton \a a.
|
/// \brief Returns an emptiness checker on the spot::tgba automaton \a a.
|
||||||
///
|
///
|
||||||
/// \pre The automaton \a a must have at most one accepting condition (i.e.
|
/// \pre The automaton \a a must have at most one acceptance condition (i.e.
|
||||||
/// it is a TBA).
|
/// it is a TBA).
|
||||||
///
|
///
|
||||||
/// During the visit of \a a, the returned checker does not store explicitely
|
/// During the visit of \a a, the returned checker does not store explicitely
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ namespace spot
|
||||||
enum color {WHITE, BLUE};
|
enum color {WHITE, BLUE};
|
||||||
|
|
||||||
/// \brief Emptiness checker on spot::tgba automata having at most one
|
/// \brief Emptiness checker on spot::tgba automata having at most one
|
||||||
/// accepting condition (i.e. a TBA).
|
/// acceptance condition (i.e. a TBA).
|
||||||
template <typename heap>
|
template <typename heap>
|
||||||
class tau03_search : public emptiness_check, public ec_statistics
|
class tau03_search : public emptiness_check, public ec_statistics
|
||||||
{
|
{
|
||||||
|
|
@ -146,7 +146,7 @@ namespace spot
|
||||||
/// by the last dfs visiting it.
|
/// by the last dfs visiting it.
|
||||||
heap h;
|
heap h;
|
||||||
|
|
||||||
/// The unique accepting condition of the automaton \a a.
|
/// The unique acceptance condition of the automaton \a a.
|
||||||
bdd all_cond;
|
bdd all_cond;
|
||||||
|
|
||||||
bool dfs_blue()
|
bool dfs_blue()
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ namespace spot
|
||||||
|
|
||||||
/// \brief Returns an emptiness checker on the spot::tgba automaton \a a.
|
/// \brief Returns an emptiness checker on the spot::tgba automaton \a a.
|
||||||
///
|
///
|
||||||
/// \pre The automaton \a a must have at least one accepting condition.
|
/// \pre The automaton \a a must have at least one acceptance condition.
|
||||||
///
|
///
|
||||||
/// During the visit of \a a, the returned checker stores explicitely all
|
/// During the visit of \a a, the returned checker stores explicitely all
|
||||||
/// the traversed states. The implemented algorithm is the following:
|
/// the traversed states. The implemented algorithm is the following:
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ namespace spot
|
||||||
enum color {WHITE, CYAN, BLUE};
|
enum color {WHITE, CYAN, BLUE};
|
||||||
|
|
||||||
/// \brief Emptiness checker on spot::tgba automata having at most one
|
/// \brief Emptiness checker on spot::tgba automata having at most one
|
||||||
/// accepting condition (i.e. a TBA).
|
/// acceptance condition (i.e. a TBA).
|
||||||
template <typename heap>
|
template <typename heap>
|
||||||
class tau03_opt_search : public emptiness_check, public ec_statistics
|
class tau03_opt_search : public emptiness_check, public ec_statistics
|
||||||
{
|
{
|
||||||
|
|
@ -160,7 +160,7 @@ namespace spot
|
||||||
/// by the last dfs visiting it.
|
/// by the last dfs visiting it.
|
||||||
heap h;
|
heap h;
|
||||||
|
|
||||||
/// The unique accepting condition of the automaton \a a.
|
/// The unique acceptance condition of the automaton \a a.
|
||||||
bdd all_acc;
|
bdd all_acc;
|
||||||
|
|
||||||
/// Whether to use the "condition stack".
|
/// Whether to use the "condition stack".
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ namespace spot
|
||||||
|
|
||||||
/// \brief Returns an emptiness checker on the spot::tgba automaton \a a.
|
/// \brief Returns an emptiness checker on the spot::tgba automaton \a a.
|
||||||
///
|
///
|
||||||
/// \pre The automaton \a a must have at least one accepting condition.
|
/// \pre The automaton \a a must have at least one acceptance condition.
|
||||||
///
|
///
|
||||||
/// During the visit of \a a, the returned checker stores explicitely all
|
/// During the visit of \a a, the returned checker stores explicitely all
|
||||||
/// the traversed states. The implemented algorithm is the following:
|
/// the traversed states. The implemented algorithm is the following:
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
# Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
# et Marie Curie.
|
# et Marie Curie.
|
||||||
#
|
#
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# All examples are TBA (i.e. they have a unique
|
# All examples are TBA (i.e. they have a unique
|
||||||
# accepting condition). Accepting arcs are
|
# acceptance condition). Accepting arcs are
|
||||||
# represented by double arrows.
|
# represented by double arrows.
|
||||||
#
|
#
|
||||||
# s1=>s2->s3->(large composant from s4 to s9)
|
# s1=>s2->s3->(large composant from s4 to s9)
|
||||||
|
|
@ -188,4 +188,4 @@ EOF
|
||||||
run 0 ./ltl2tgba -eSE05 -X red
|
run 0 ./ltl2tgba -eSE05 -X red
|
||||||
run 0 ./ltl2tgba -eTau03_opt -X red
|
run 0 ./ltl2tgba -eTau03_opt -X red
|
||||||
|
|
||||||
rm -f red blue_counter blue_last
|
rm -f red blue_counter blue_last
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue