twa_succ_iterator: rename accessors
* src/twa/twa.hh, src/ta/ta.hh (current_state, current_acceptance_conditions, current_condition): Rename as... (dst, acc, cond): ... these. * iface/ltsmin/ltsmin.cc, src/kripke/fairkripke.cc, src/kripke/fairkripke.hh, src/kripke/kripke.cc, src/kripke/kripke.hh, src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh, src/kripke/kripkeprint.cc, src/ta/taexplicit.cc, src/ta/taexplicit.hh, src/ta/taproduct.cc, src/ta/taproduct.hh, src/ta/tgtaproduct.cc, src/ta/tgtaproduct.hh, src/taalgos/dot.cc, src/taalgos/emptinessta.cc, src/taalgos/minimize.cc, src/taalgos/reachiter.cc, src/taalgos/tgba2ta.cc, src/twa/taatgba.cc, src/twa/taatgba.hh, src/twa/twagraph.hh, src/twa/twaproduct.cc, src/twa/twasafracomplement.cc, src/twaalgos/bfssteps.cc, src/twaalgos/bfssteps.hh, src/twaalgos/compsusp.cc, src/twaalgos/copy.cc, src/twaalgos/emptiness.cc, src/twaalgos/gtec/gtec.cc, src/twaalgos/gv04.cc, src/twaalgos/lbtt.cc, src/twaalgos/ltl2tgba_fm.cc, src/twaalgos/magic.cc, src/twaalgos/minimize.cc, src/twaalgos/ndfs_result.hxx, src/twaalgos/reachiter.cc, src/twaalgos/se05.cc, src/twaalgos/stats.cc, src/twaalgos/stutter.cc, src/twaalgos/tau03.cc, src/twaalgos/tau03opt.cc, wrap/python/tests/interdep.py: Adjust. * NEWS: Mention the renamings.
This commit is contained in:
parent
1b5b9e4a65
commit
f6af2a84cb
46 changed files with 203 additions and 197 deletions
6
NEWS
6
NEWS
|
|
@ -64,6 +64,12 @@ New in spot 1.99.4a (not yet released)
|
||||||
print_tgba_run -> operator<<
|
print_tgba_run -> operator<<
|
||||||
tgba_run_to_tgba -> twa_run::as_twa
|
tgba_run_to_tgba -> twa_run::as_twa
|
||||||
format_parse_aut_errors -> parsed_aut::format_errors
|
format_parse_aut_errors -> parsed_aut::format_errors
|
||||||
|
twa_succ_iterator::current_state -> twa_succ_iterator::dst
|
||||||
|
twa_succ_iterator::current_condition -> twa_succ_iterator::cond
|
||||||
|
twa_succ_iterator::current_acceptance_conditions -> twa_succ_iterator::acc
|
||||||
|
ta_succ_iterator::current_state -> ta_succ_iterator::dst
|
||||||
|
ta_succ_iterator::current_condition -> ta_succ_iterator::cond
|
||||||
|
ta_succ_iterator::current_acceptance_conditions -> ta_succ_iterator::acc
|
||||||
|
|
||||||
Python:
|
Python:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -289,7 +289,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual
|
virtual
|
||||||
state* current_state() const
|
state* dst() const
|
||||||
{
|
{
|
||||||
return (*it_)->clone();
|
return (*it_)->clone();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
bdd
|
bdd
|
||||||
fair_kripke_succ_iterator::current_condition() const
|
fair_kripke_succ_iterator::cond() const
|
||||||
{
|
{
|
||||||
// Do not assert(!done()) here. It is OK to call
|
// Do not assert(!done()) here. It is OK to call
|
||||||
// this function on a state without successor.
|
// this function on a state without successor.
|
||||||
|
|
@ -41,7 +41,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
acc_cond::mark_t
|
acc_cond::mark_t
|
||||||
fair_kripke_succ_iterator::current_acceptance_conditions() const
|
fair_kripke_succ_iterator::acc() const
|
||||||
{
|
{
|
||||||
// Do not assert(!done()) here. It is OK to call
|
// Do not assert(!done()) here. It is OK to call
|
||||||
// this function on a state without successor.
|
// this function on a state without successor.
|
||||||
|
|
|
||||||
|
|
@ -39,23 +39,23 @@ namespace spot
|
||||||
/// - fair_kripke_succ_iterator::first()
|
/// - fair_kripke_succ_iterator::first()
|
||||||
/// - fair_kripke_succ_iterator::next()
|
/// - fair_kripke_succ_iterator::next()
|
||||||
/// - fair_kripke_succ_iterator::done()
|
/// - fair_kripke_succ_iterator::done()
|
||||||
/// - fair_kripke_succ_iterator::current_state()
|
/// - fair_kripke_succ_iterator::dst()
|
||||||
///
|
///
|
||||||
/// This class implements fair_kripke_succ_iterator::current_condition(),
|
/// This class implements fair_kripke_succ_iterator::cond(),
|
||||||
/// and fair_kripke_succ_iterator::current_acceptance_conditions().
|
/// and fair_kripke_succ_iterator::acc().
|
||||||
class SPOT_API fair_kripke_succ_iterator : public twa_succ_iterator
|
class SPOT_API fair_kripke_succ_iterator : public twa_succ_iterator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// \brief Constructor
|
/// \brief Constructor
|
||||||
///
|
///
|
||||||
/// The \a cond and \a acc_cond arguments will be those returned
|
/// The \a cond and \a acc_cond arguments will be those returned
|
||||||
/// by fair_kripke_succ_iterator::current_condition(),
|
/// by fair_kripke_succ_iterator::cond(),
|
||||||
/// and fair_kripke_succ_iterator::current_acceptance_conditions().
|
/// and fair_kripke_succ_iterator::acc().
|
||||||
fair_kripke_succ_iterator(const bdd& cond, acc_cond::mark_t acc_cond);
|
fair_kripke_succ_iterator(const bdd& cond, acc_cond::mark_t acc_cond);
|
||||||
virtual ~fair_kripke_succ_iterator();
|
virtual ~fair_kripke_succ_iterator();
|
||||||
|
|
||||||
virtual bdd current_condition() const;
|
virtual bdd cond() const;
|
||||||
virtual acc_cond::mark_t current_acceptance_conditions() const;
|
virtual acc_cond::mark_t acc() const;
|
||||||
protected:
|
protected:
|
||||||
bdd cond_;
|
bdd cond_;
|
||||||
acc_cond::mark_t acc_cond_;
|
acc_cond::mark_t acc_cond_;
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
bdd
|
bdd
|
||||||
kripke_succ_iterator::current_condition() const
|
kripke_succ_iterator::cond() const
|
||||||
{
|
{
|
||||||
// Do not assert(!done()) here. It is OK to call
|
// Do not assert(!done()) here. It is OK to call
|
||||||
// this function on a state without successor.
|
// this function on a state without successor.
|
||||||
|
|
@ -35,7 +35,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
acc_cond::mark_t
|
acc_cond::mark_t
|
||||||
kripke_succ_iterator::current_acceptance_conditions() const
|
kripke_succ_iterator::acc() const
|
||||||
{
|
{
|
||||||
// Do not assert(!done()) here. It is OK to call
|
// Do not assert(!done()) here. It is OK to call
|
||||||
// this function on a state without successor.
|
// this function on a state without successor.
|
||||||
|
|
|
||||||
|
|
@ -36,17 +36,17 @@ namespace spot
|
||||||
/// - kripke_succ_iterator::first()
|
/// - kripke_succ_iterator::first()
|
||||||
/// - kripke_succ_iterator::next()
|
/// - kripke_succ_iterator::next()
|
||||||
/// - kripke_succ_iterator::done()
|
/// - kripke_succ_iterator::done()
|
||||||
/// - kripke_succ_iterator::current_state()
|
/// - kripke_succ_iterator::dst()
|
||||||
///
|
///
|
||||||
/// This class implements kripke_succ_iterator::current_condition(),
|
/// This class implements kripke_succ_iterator::cond(),
|
||||||
/// and kripke_succ_iterator::current_acceptance_conditions().
|
/// and kripke_succ_iterator::acc().
|
||||||
class SPOT_API kripke_succ_iterator : public twa_succ_iterator
|
class SPOT_API kripke_succ_iterator : public twa_succ_iterator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// \brief Constructor
|
/// \brief Constructor
|
||||||
///
|
///
|
||||||
/// The \a cond argument will be the one returned
|
/// The \a cond argument will be the one returned
|
||||||
/// by kripke_succ_iterator::current_condition().
|
/// by kripke_succ_iterator::cond().
|
||||||
kripke_succ_iterator(const bdd& cond)
|
kripke_succ_iterator(const bdd& cond)
|
||||||
: cond_(cond)
|
: cond_(cond)
|
||||||
{
|
{
|
||||||
|
|
@ -59,8 +59,8 @@ namespace spot
|
||||||
|
|
||||||
virtual ~kripke_succ_iterator();
|
virtual ~kripke_succ_iterator();
|
||||||
|
|
||||||
virtual bdd current_condition() const;
|
virtual bdd cond() const;
|
||||||
virtual acc_cond::mark_t current_acceptance_conditions() const;
|
virtual acc_cond::mark_t acc() const;
|
||||||
protected:
|
protected:
|
||||||
bdd cond_;
|
bdd cond_;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ namespace spot
|
||||||
return it_ == s_->get_succ().end();
|
return it_ == s_->get_succ().end();
|
||||||
}
|
}
|
||||||
|
|
||||||
state_kripke* kripke_explicit_succ_iterator::current_state() const
|
state_kripke* kripke_explicit_succ_iterator::dst() const
|
||||||
{
|
{
|
||||||
assert(!done());
|
assert(!done());
|
||||||
return *it_;
|
return *it_;
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ namespace spot
|
||||||
virtual bool next();
|
virtual bool next();
|
||||||
virtual bool done() const;
|
virtual bool done() const;
|
||||||
|
|
||||||
virtual state_kripke* current_state() const;
|
virtual state_kripke* dst() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const state_kripke* s_;
|
const state_kripke* s_;
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ namespace spot
|
||||||
os_ << "\",";
|
os_ << "\",";
|
||||||
for (si->first(); !si->done(); si->next())
|
for (si->first(); !si->done(); si->next())
|
||||||
{
|
{
|
||||||
state* dest = si->current_state();
|
state* dest = si->dst();
|
||||||
os_ << " \"";
|
os_ << " \"";
|
||||||
escape_str(os_, aut_->format_state(dest));
|
escape_str(os_, aut_->format_state(dest));
|
||||||
os_ << '"';
|
os_ << '"';
|
||||||
|
|
|
||||||
|
|
@ -206,16 +206,16 @@ namespace spot
|
||||||
virtual bool done() const = 0;
|
virtual bool done() const = 0;
|
||||||
|
|
||||||
virtual state*
|
virtual state*
|
||||||
current_state() const = 0;
|
dst() const = 0;
|
||||||
|
|
||||||
/// \brief Get the changeset on the transition leading to current successor.
|
/// \brief Get the changeset on the transition leading to current successor.
|
||||||
///
|
///
|
||||||
/// This is a boolean function of atomic propositions.
|
/// This is a boolean function of atomic propositions.
|
||||||
virtual bdd
|
virtual bdd
|
||||||
current_condition() const = 0;
|
cond() const = 0;
|
||||||
|
|
||||||
acc_cond::mark_t
|
acc_cond::mark_t
|
||||||
current_acceptance_conditions() const = 0;
|
acc() const = 0;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -72,28 +72,28 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
state*
|
state*
|
||||||
ta_explicit_succ_iterator::current_state() const
|
ta_explicit_succ_iterator::dst() const
|
||||||
{
|
{
|
||||||
trace
|
trace
|
||||||
<< "***ta_explicit_succ_iterator::current_state() if(done()) =***"
|
<< "***ta_explicit_succ_iterator::dst() if(done()) =***"
|
||||||
<< done() << std::endl;
|
<< done() << std::endl;
|
||||||
assert(!done());
|
assert(!done());
|
||||||
trace
|
trace
|
||||||
<< "***ta_explicit_succ_iterator::current_state() (*i_)->condition =***"
|
<< "***ta_explicit_succ_iterator::dst() (*i_)->condition =***"
|
||||||
<< (*i_)->condition << std::endl;
|
<< (*i_)->condition << std::endl;
|
||||||
state_ta_explicit* s = (*i_)->dest;
|
state_ta_explicit* s = (*i_)->dest;
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
bdd
|
bdd
|
||||||
ta_explicit_succ_iterator::current_condition() const
|
ta_explicit_succ_iterator::cond() const
|
||||||
{
|
{
|
||||||
assert(!done());
|
assert(!done());
|
||||||
return (*i_)->condition;
|
return (*i_)->condition;
|
||||||
}
|
}
|
||||||
|
|
||||||
acc_cond::mark_t
|
acc_cond::mark_t
|
||||||
ta_explicit_succ_iterator::current_acceptance_conditions() const
|
ta_explicit_succ_iterator::acc() const
|
||||||
{
|
{
|
||||||
assert(!done());
|
assert(!done());
|
||||||
return (*i_)->acceptance_conditions;
|
return (*i_)->acceptance_conditions;
|
||||||
|
|
|
||||||
|
|
@ -239,12 +239,12 @@ namespace spot
|
||||||
virtual bool done() const;
|
virtual bool done() const;
|
||||||
|
|
||||||
virtual state*
|
virtual state*
|
||||||
current_state() const;
|
dst() const;
|
||||||
virtual bdd
|
virtual bdd
|
||||||
current_condition() const;
|
cond() const;
|
||||||
|
|
||||||
virtual acc_cond::mark_t
|
virtual acc_cond::mark_t
|
||||||
current_acceptance_conditions() const;
|
acc() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
state_ta_explicit::transitions* transitions_;
|
state_ta_explicit::transitions* transitions_;
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,7 @@ namespace spot
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
kripke_current_dest_state = kripke_succ_it_->current_state();
|
kripke_current_dest_state = kripke_succ_it_->dst();
|
||||||
bdd kripke_current_dest_condition = kripke_->state_condition(
|
bdd kripke_current_dest_condition = kripke_->state_condition(
|
||||||
kripke_current_dest_state);
|
kripke_current_dest_state);
|
||||||
is_stuttering_transition_ = (kripke_source_condition
|
is_stuttering_transition_ = (kripke_source_condition
|
||||||
|
|
@ -196,10 +196,10 @@ namespace spot
|
||||||
|
|
||||||
if (!ta_succ_it_->done())
|
if (!ta_succ_it_->done())
|
||||||
{
|
{
|
||||||
current_state_ = new state_ta_product(ta_succ_it_->current_state(),
|
current_state_ = new state_ta_product(ta_succ_it_->dst(),
|
||||||
kripke_current_dest_state->clone());
|
kripke_current_dest_state->clone());
|
||||||
current_acceptance_conditions_
|
current_acceptance_conditions_
|
||||||
= ta_succ_it_->current_acceptance_conditions();
|
= ta_succ_it_->acc();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -215,7 +215,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
state_ta_product*
|
state_ta_product*
|
||||||
ta_succ_iterator_product::current_state() const
|
ta_succ_iterator_product::dst() const
|
||||||
{
|
{
|
||||||
return current_state_->clone();
|
return current_state_->clone();
|
||||||
}
|
}
|
||||||
|
|
@ -227,13 +227,13 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
bdd
|
bdd
|
||||||
ta_succ_iterator_product::current_condition() const
|
ta_succ_iterator_product::cond() const
|
||||||
{
|
{
|
||||||
return current_condition_;
|
return current_condition_;
|
||||||
}
|
}
|
||||||
|
|
||||||
acc_cond::mark_t
|
acc_cond::mark_t
|
||||||
ta_succ_iterator_product::current_acceptance_conditions() const
|
ta_succ_iterator_product::acc() const
|
||||||
{
|
{
|
||||||
return current_acceptance_conditions_;
|
return current_acceptance_conditions_;
|
||||||
}
|
}
|
||||||
|
|
@ -281,7 +281,7 @@ namespace spot
|
||||||
artificial_initial_state, kripke_init_state_condition);
|
artificial_initial_state, kripke_init_state_condition);
|
||||||
for (ta_init_it_->first(); !ta_init_it_->done(); ta_init_it_->next())
|
for (ta_init_it_->first(); !ta_init_it_->done(); ta_init_it_->next())
|
||||||
{
|
{
|
||||||
ta_init_states_set.insert(ta_init_it_->current_state());
|
ta_init_states_set.insert(ta_init_it_->dst());
|
||||||
}
|
}
|
||||||
delete ta_init_it_;
|
delete ta_init_it_;
|
||||||
|
|
||||||
|
|
@ -444,7 +444,7 @@ namespace spot
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
kripke_current_dest_state = kripke_succ_it_->current_state();
|
kripke_current_dest_state = kripke_succ_it_->dst();
|
||||||
bdd kripke_current_dest_condition = kripke_->state_condition(
|
bdd kripke_current_dest_condition = kripke_->state_condition(
|
||||||
kripke_current_dest_state);
|
kripke_current_dest_state);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -88,12 +88,12 @@ namespace spot
|
||||||
|
|
||||||
// inspection
|
// inspection
|
||||||
state_ta_product*
|
state_ta_product*
|
||||||
current_state() const;
|
dst() const;
|
||||||
bdd
|
bdd
|
||||||
current_condition() const;
|
cond() const;
|
||||||
|
|
||||||
acc_cond::mark_t
|
acc_cond::mark_t
|
||||||
current_acceptance_conditions() const;
|
acc() const;
|
||||||
|
|
||||||
/// \brief Return true if the changeset of the current transition is empty
|
/// \brief Return true if the changeset of the current transition is empty
|
||||||
bool
|
bool
|
||||||
|
|
|
||||||
|
|
@ -162,7 +162,7 @@ namespace spot
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
kripke_current_dest_state = kripke_succ_it_->current_state();
|
kripke_current_dest_state = kripke_succ_it_->dst();
|
||||||
bdd kripke_current_dest_condition = kripke_->state_condition(
|
bdd kripke_current_dest_condition = kripke_->state_condition(
|
||||||
kripke_current_dest_state);
|
kripke_current_dest_state);
|
||||||
|
|
||||||
|
|
@ -205,9 +205,9 @@ namespace spot
|
||||||
{
|
{
|
||||||
current_state_ = new (pool_->allocate()) state_product(
|
current_state_ = new (pool_->allocate()) state_product(
|
||||||
kripke_current_dest_state->clone(),
|
kripke_current_dest_state->clone(),
|
||||||
tgta_succ_it_->current_state(), pool_);
|
tgta_succ_it_->dst(), pool_);
|
||||||
current_acceptance_conditions_
|
current_acceptance_conditions_
|
||||||
= tgta_succ_it_->current_acceptance_conditions();
|
= tgta_succ_it_->acc();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -231,21 +231,21 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
state_product*
|
state_product*
|
||||||
tgta_succ_iterator_product::current_state() const
|
tgta_succ_iterator_product::dst() const
|
||||||
{
|
{
|
||||||
trace
|
trace
|
||||||
<< "*** current_state() .... if(done()) = ***" << done() << std::endl;
|
<< "*** dst() .... if(done()) = ***" << done() << std::endl;
|
||||||
return current_state_->clone();
|
return current_state_->clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
bdd
|
bdd
|
||||||
tgta_succ_iterator_product::current_condition() const
|
tgta_succ_iterator_product::cond() const
|
||||||
{
|
{
|
||||||
return current_condition_;
|
return current_condition_;
|
||||||
}
|
}
|
||||||
|
|
||||||
acc_cond::mark_t
|
acc_cond::mark_t
|
||||||
tgta_succ_iterator_product::current_acceptance_conditions() const
|
tgta_succ_iterator_product::acc() const
|
||||||
{
|
{
|
||||||
return current_acceptance_conditions_;
|
return current_acceptance_conditions_;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -67,12 +67,12 @@ namespace spot
|
||||||
|
|
||||||
// inspection
|
// inspection
|
||||||
state_product*
|
state_product*
|
||||||
current_state() const;
|
dst() const;
|
||||||
bdd
|
bdd
|
||||||
current_condition() const;
|
cond() const;
|
||||||
|
|
||||||
acc_cond::mark_t
|
acc_cond::mark_t
|
||||||
current_acceptance_conditions() const;
|
acc() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//@{
|
//@{
|
||||||
|
|
|
||||||
|
|
@ -203,8 +203,8 @@ namespace spot
|
||||||
bdd_dict_ptr d = t_automata_->get_dict();
|
bdd_dict_ptr d = t_automata_->get_dict();
|
||||||
std::string label =
|
std::string label =
|
||||||
((in == 1 && artificial_initial_state_)
|
((in == 1 && artificial_initial_state_)
|
||||||
? bdd_format_formula(d, si->current_condition())
|
? bdd_format_formula(d, si->cond())
|
||||||
: bdd_format_accset(d, si->current_condition()));
|
: bdd_format_accset(d, si->cond()));
|
||||||
|
|
||||||
if (label.empty())
|
if (label.empty())
|
||||||
label = "{}";
|
label = "{}";
|
||||||
|
|
@ -213,7 +213,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
label += "\n";
|
label += "\n";
|
||||||
label += t_automata_->acc().
|
label += t_automata_->acc().
|
||||||
format(si->current_acceptance_conditions());
|
format(si->acc());
|
||||||
}
|
}
|
||||||
|
|
||||||
os_ << " " << in << " -> " << out << " [label=\"";
|
os_ << " " << in << " -> " << out << " [label=\"";
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
|
|
||||||
state_ta_product* init = new state_ta_product(
|
state_ta_product* init = new state_ta_product(
|
||||||
(ta_init_it_->current_state()), kripke_init_state->clone());
|
(ta_init_it_->dst()), kripke_init_state->clone());
|
||||||
|
|
||||||
if (!h.emplace(init, num + 1).second)
|
if (!h.emplace(init, num + 1).second)
|
||||||
{
|
{
|
||||||
|
|
@ -188,9 +188,9 @@ namespace spot
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
trace << "PASS 1: transition\n";
|
trace << "PASS 1: transition\n";
|
||||||
// Fetch the values destination state we are interested in...
|
// Fetch the values destination state we are interested in...
|
||||||
state* dest = succ->current_state();
|
state* dest = succ->dst();
|
||||||
|
|
||||||
auto acc_cond = succ->current_acceptance_conditions();
|
auto acc_cond = succ->acc();
|
||||||
|
|
||||||
bool curr_is_livelock_hole_state_in_ta_component =
|
bool curr_is_livelock_hole_state_in_ta_component =
|
||||||
(a_->is_hole_state_in_ta_component(curr))
|
(a_->is_hole_state_in_ta_component(curr))
|
||||||
|
|
@ -472,7 +472,7 @@ namespace spot
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
trace << "PASS 2 : transition\n";
|
trace << "PASS 2 : transition\n";
|
||||||
// Fetch the values destination state we are interested in...
|
// Fetch the values destination state we are interested in...
|
||||||
state* dest = succ->current_state();
|
state* dest = succ->dst();
|
||||||
|
|
||||||
bool is_stuttering_transition = succ->is_stuttering_transition();
|
bool is_stuttering_transition = succ->is_stuttering_transition();
|
||||||
// ... and point the iterator to the next successor, for
|
// ... and point the iterator to the next successor, for
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ namespace spot
|
||||||
|
|
||||||
for (succit->first(); !succit->done(); succit->next())
|
for (succit->first(); !succit->done(); succit->next())
|
||||||
{
|
{
|
||||||
const state* dst = succit->current_state();
|
const state* dst = succit->dst();
|
||||||
hash_map::const_iterator i = state_num.find(dst);
|
hash_map::const_iterator i = state_num.find(dst);
|
||||||
|
|
||||||
if (i == state_num.end()) // Ignore useless destinations.
|
if (i == state_num.end()) // Ignore useless destinations.
|
||||||
|
|
@ -175,8 +175,8 @@ namespace spot
|
||||||
result->add_to_initial_states_set(new_dst);
|
result->add_to_initial_states_set(new_dst);
|
||||||
|
|
||||||
result->create_transition
|
result->create_transition
|
||||||
(ta_src, succit->current_condition(),
|
(ta_src, succit->cond(),
|
||||||
succit->current_acceptance_conditions(),
|
succit->acc(),
|
||||||
ta_dst);
|
ta_dst);
|
||||||
}
|
}
|
||||||
delete succit;
|
delete succit;
|
||||||
|
|
@ -390,24 +390,24 @@ namespace spot
|
||||||
trace << "+src: " << src << std::endl;
|
trace << "+src: " << src << std::endl;
|
||||||
for (si->first(); !si->done(); si->next())
|
for (si->first(); !si->done(); si->next())
|
||||||
{
|
{
|
||||||
const state* dst = si->current_state();
|
const state* dst = si->dst();
|
||||||
hash_map::const_iterator i = state_set_map.find(dst);
|
hash_map::const_iterator i = state_set_map.find(dst);
|
||||||
|
|
||||||
assert(i != state_set_map.end());
|
assert(i != state_set_map.end());
|
||||||
auto curacc =
|
auto curacc =
|
||||||
mark_to_bdd(si->current_acceptance_conditions());
|
mark_to_bdd(si->acc());
|
||||||
f |= (bdd_ithvar(i->second)
|
f |= (bdd_ithvar(i->second)
|
||||||
& si->current_condition() & curacc);
|
& si->cond() & curacc);
|
||||||
trace
|
trace
|
||||||
<< "+f: " << bdd_format_accset(ta_->get_dict(), f)
|
<< "+f: " << bdd_format_accset(ta_->get_dict(), f)
|
||||||
<< "\n -bdd_ithvar(i->second): "
|
<< "\n -bdd_ithvar(i->second): "
|
||||||
<< bdd_format_accset(ta_->get_dict(),
|
<< bdd_format_accset(ta_->get_dict(),
|
||||||
bdd_ithvar(i->second))
|
bdd_ithvar(i->second))
|
||||||
<< "\n -si->current_condition(): "
|
<< "\n -si->cond(): "
|
||||||
<< bdd_format_accset(ta_->get_dict(),
|
<< bdd_format_accset(ta_->get_dict(),
|
||||||
si->current_condition())
|
si->cond())
|
||||||
<< "\n -current_acceptance_conditions: "
|
<< "\n -current_acceptance_conditions: "
|
||||||
<< si->current_acceptance_conditions()
|
<< si->acc()
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
}
|
}
|
||||||
delete si;
|
delete si;
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ namespace spot
|
||||||
process_state(t, tn);
|
process_state(t, tn);
|
||||||
for (si->first(); !si->done(); si->next())
|
for (si->first(); !si->done(); si->next())
|
||||||
{
|
{
|
||||||
const state* current = si->current_state();
|
const state* current = si->dst();
|
||||||
seen_map::const_iterator s = seen.find(current);
|
seen_map::const_iterator s = seen.find(current);
|
||||||
bool ws = want_state(current);
|
bool ws = want_state(current);
|
||||||
if (s == seen.end())
|
if (s == seen.end())
|
||||||
|
|
|
||||||
|
|
@ -285,9 +285,9 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fetch the values destination state we are interested in...
|
// Fetch the values destination state we are interested in...
|
||||||
state* dest = succ->current_state();
|
state* dest = succ->dst();
|
||||||
|
|
||||||
auto acc_cond = succ->current_acceptance_conditions();
|
auto acc_cond = succ->acc();
|
||||||
// ... and point the iterator to the next successor, for
|
// ... and point the iterator to the next successor, for
|
||||||
// the next iteration.
|
// the next iteration.
|
||||||
succ->next();
|
succ->next();
|
||||||
|
|
@ -422,7 +422,7 @@ namespace spot
|
||||||
twa_succ_iterator* it = tgba_->succ_iter(tgba_init_state);
|
twa_succ_iterator* it = tgba_->succ_iter(tgba_init_state);
|
||||||
it->first();
|
it->first();
|
||||||
if (!it->done())
|
if (!it->done())
|
||||||
is_acc = it->current_acceptance_conditions() != 0U;
|
is_acc = it->acc() != 0U;
|
||||||
delete it;
|
delete it;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -453,10 +453,10 @@ namespace spot
|
||||||
for (twa_succ_it->first(); !twa_succ_it->done();
|
for (twa_succ_it->first(); !twa_succ_it->done();
|
||||||
twa_succ_it->next())
|
twa_succ_it->next())
|
||||||
{
|
{
|
||||||
const state* tgba_state = twa_succ_it->current_state();
|
const state* tgba_state = twa_succ_it->dst();
|
||||||
bdd tgba_condition = twa_succ_it->current_condition();
|
bdd tgba_condition = twa_succ_it->cond();
|
||||||
acc_cond::mark_t tgba_acceptance_conditions =
|
acc_cond::mark_t tgba_acceptance_conditions =
|
||||||
twa_succ_it->current_acceptance_conditions();
|
twa_succ_it->acc();
|
||||||
bdd satone_tgba_condition;
|
bdd satone_tgba_condition;
|
||||||
while ((satone_tgba_condition =
|
while ((satone_tgba_condition =
|
||||||
bdd_satoneset(tgba_condition,
|
bdd_satoneset(tgba_condition,
|
||||||
|
|
@ -474,7 +474,7 @@ namespace spot
|
||||||
twa_succ_iterator* it = tgba_->succ_iter(tgba_state);
|
twa_succ_iterator* it = tgba_->succ_iter(tgba_state);
|
||||||
it->first();
|
it->first();
|
||||||
if (!it->done())
|
if (!it->done())
|
||||||
is_acc = it->current_acceptance_conditions() != 0U;
|
is_acc = it->acc() != 0U;
|
||||||
delete it;
|
delete it;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -623,7 +623,7 @@ namespace spot
|
||||||
delete initial_states_iter;
|
delete initial_states_iter;
|
||||||
return tgta;
|
return tgta;
|
||||||
}
|
}
|
||||||
bdd first_state_condition = initial_states_iter->current_condition();
|
bdd first_state_condition = initial_states_iter->cond();
|
||||||
delete initial_states_iter;
|
delete initial_states_iter;
|
||||||
|
|
||||||
bdd bdd_stutering_transition = bdd_setxor(first_state_condition,
|
bdd bdd_stutering_transition = bdd_setxor(first_state_condition,
|
||||||
|
|
|
||||||
|
|
@ -287,21 +287,21 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
spot::set_state*
|
spot::set_state*
|
||||||
taa_succ_iterator::current_state() const
|
taa_succ_iterator::dst() const
|
||||||
{
|
{
|
||||||
assert(!done());
|
assert(!done());
|
||||||
return new spot::set_state(new taa_tgba::state_set(*(*i_)->dst), true);
|
return new spot::set_state(new taa_tgba::state_set(*(*i_)->dst), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
bdd
|
bdd
|
||||||
taa_succ_iterator::current_condition() const
|
taa_succ_iterator::cond() const
|
||||||
{
|
{
|
||||||
assert(!done());
|
assert(!done());
|
||||||
return (*i_)->condition;
|
return (*i_)->condition;
|
||||||
}
|
}
|
||||||
|
|
||||||
acc_cond::mark_t
|
acc_cond::mark_t
|
||||||
taa_succ_iterator::current_acceptance_conditions() const
|
taa_succ_iterator::acc() const
|
||||||
{
|
{
|
||||||
assert(!done());
|
assert(!done());
|
||||||
return acc_.comp((*i_)->acceptance_conditions);
|
return acc_.comp((*i_)->acceptance_conditions);
|
||||||
|
|
|
||||||
|
|
@ -109,9 +109,9 @@ namespace spot
|
||||||
virtual bool next();
|
virtual bool next();
|
||||||
virtual bool done() const;
|
virtual bool done() const;
|
||||||
|
|
||||||
virtual set_state* current_state() const;
|
virtual set_state* dst() const;
|
||||||
virtual bdd current_condition() const;
|
virtual bdd cond() const;
|
||||||
virtual acc_cond::mark_t current_acceptance_conditions() const;
|
virtual acc_cond::mark_t acc() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// Those typedefs are used to generate all possible successors in
|
/// Those typedefs are used to generate all possible successors in
|
||||||
|
|
|
||||||
|
|
@ -385,14 +385,14 @@ namespace spot
|
||||||
///
|
///
|
||||||
/// The returned state should be destroyed (see state::destroy)
|
/// The returned state should be destroyed (see state::destroy)
|
||||||
/// by the caller after it is no longer used.
|
/// by the caller after it is no longer used.
|
||||||
virtual state* current_state() const = 0;
|
virtual state* dst() const = 0;
|
||||||
/// \brief Get the condition on the transition leading to this successor.
|
/// \brief Get the condition on the transition leading to this successor.
|
||||||
///
|
///
|
||||||
/// This is a boolean function of atomic propositions.
|
/// This is a boolean function of atomic propositions.
|
||||||
virtual bdd current_condition() const = 0;
|
virtual bdd cond() const = 0;
|
||||||
/// \brief Get the acceptance conditions on the transition leading
|
/// \brief Get the acceptance conditions on the transition leading
|
||||||
/// to this successor.
|
/// to this successor.
|
||||||
virtual acc_cond::mark_t current_acceptance_conditions() const = 0;
|
virtual acc_cond::mark_t acc() const = 0;
|
||||||
|
|
||||||
//@}
|
//@}
|
||||||
};
|
};
|
||||||
|
|
@ -545,7 +545,7 @@ namespace spot
|
||||||
/// \brief Build an iterable over the successors of \a s.
|
/// \brief Build an iterable over the successors of \a s.
|
||||||
///
|
///
|
||||||
/// This is meant to be used as
|
/// This is meant to be used as
|
||||||
/// <code>for (auto i: aut->succ(s)) { /* i->current_state() */ }</code>.
|
/// <code>for (auto i: aut->succ(s)) { /* i->dst() */ }</code>.
|
||||||
succ_iterable
|
succ_iterable
|
||||||
succ(const state* s) const
|
succ(const state* s) const
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -143,20 +143,20 @@ namespace spot
|
||||||
return !p_;
|
return !p_;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual twa_graph_state* current_state() const
|
virtual twa_graph_state* dst() const
|
||||||
{
|
{
|
||||||
assert(!done());
|
assert(!done());
|
||||||
return const_cast<twa_graph_state*>
|
return const_cast<twa_graph_state*>
|
||||||
(&g_->state_data(g_->edge_storage(p_).dst));
|
(&g_->state_data(g_->edge_storage(p_).dst));
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual bdd current_condition() const
|
virtual bdd cond() const
|
||||||
{
|
{
|
||||||
assert(!done());
|
assert(!done());
|
||||||
return g_->edge_data(p_).cond;
|
return g_->edge_data(p_).cond;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual acc_cond::mark_t current_acceptance_conditions() const
|
virtual acc_cond::mark_t acc() const
|
||||||
{
|
{
|
||||||
assert(!done());
|
assert(!done());
|
||||||
return g_->edge_data(p_).acc;
|
return g_->edge_data(p_).acc;
|
||||||
|
|
|
||||||
|
|
@ -130,10 +130,10 @@ namespace spot
|
||||||
return !right_ || right_->done();
|
return !right_ || right_->done();
|
||||||
}
|
}
|
||||||
|
|
||||||
state_product* current_state() const
|
state_product* dst() const
|
||||||
{
|
{
|
||||||
return new(pool_->allocate()) state_product(left_->current_state(),
|
return new(pool_->allocate()) state_product(left_->dst(),
|
||||||
right_->current_state(),
|
right_->dst(),
|
||||||
pool_);
|
pool_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -175,8 +175,8 @@ namespace spot
|
||||||
assert(!done());
|
assert(!done());
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
bdd l = left_->current_condition();
|
bdd l = left_->cond();
|
||||||
bdd r = right_->current_condition();
|
bdd r = right_->cond();
|
||||||
bdd current_cond = l & r;
|
bdd current_cond = l & r;
|
||||||
|
|
||||||
if (current_cond != bddfalse)
|
if (current_cond != bddfalse)
|
||||||
|
|
@ -196,18 +196,18 @@ namespace spot
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bdd current_condition() const
|
bdd cond() const
|
||||||
{
|
{
|
||||||
return current_cond_;
|
return current_cond_;
|
||||||
}
|
}
|
||||||
|
|
||||||
acc_cond::mark_t current_acceptance_conditions() const
|
acc_cond::mark_t acc() const
|
||||||
{
|
{
|
||||||
return
|
return
|
||||||
prod_->acc().join(prod_->left_acc(),
|
prod_->acc().join(prod_->left_acc(),
|
||||||
left_->current_acceptance_conditions(),
|
left_->acc(),
|
||||||
prod_->right_acc(),
|
prod_->right_acc(),
|
||||||
right_->current_acceptance_conditions());
|
right_->acc());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
@ -236,11 +236,11 @@ namespace spot
|
||||||
{
|
{
|
||||||
// All the transitions of left_ iterator have the
|
// All the transitions of left_ iterator have the
|
||||||
// same label, because it is a Kripke structure.
|
// same label, because it is a Kripke structure.
|
||||||
bdd l = left_->current_condition();
|
bdd l = left_->cond();
|
||||||
assert(!right_->done());
|
assert(!right_->done());
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
bdd r = right_->current_condition();
|
bdd r = right_->cond();
|
||||||
bdd current_cond = l & r;
|
bdd current_cond = l & r;
|
||||||
|
|
||||||
if (current_cond != bddfalse)
|
if (current_cond != bddfalse)
|
||||||
|
|
@ -263,14 +263,14 @@ namespace spot
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bdd current_condition() const
|
bdd cond() const
|
||||||
{
|
{
|
||||||
return current_cond_;
|
return current_cond_;
|
||||||
}
|
}
|
||||||
|
|
||||||
acc_cond::mark_t current_acceptance_conditions() const
|
acc_cond::mark_t acc() const
|
||||||
{
|
{
|
||||||
return right_->current_acceptance_conditions();
|
return right_->acc();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
|
||||||
|
|
@ -661,9 +661,9 @@ namespace spot
|
||||||
safra_tree::tr_cache_t transitions;
|
safra_tree::tr_cache_t transitions;
|
||||||
for (auto iterator: sba_aut->succ(n))
|
for (auto iterator: sba_aut->succ(n))
|
||||||
{
|
{
|
||||||
bdd condition = iterator->current_condition();
|
bdd condition = iterator->cond();
|
||||||
typedef std::pair<bdd, const state*> bdd_state;
|
typedef std::pair<bdd, const state*> bdd_state;
|
||||||
transitions.insert(bdd_state(condition, iterator->current_state()));
|
transitions.insert(bdd_state(condition, iterator->dst()));
|
||||||
set_atomic_list(atomic_list, condition);
|
set_atomic_list(atomic_list, condition);
|
||||||
}
|
}
|
||||||
cache[n] = transitions;
|
cache[n] = transitions;
|
||||||
|
|
@ -958,9 +958,9 @@ namespace spot
|
||||||
virtual bool first();
|
virtual bool first();
|
||||||
virtual bool next();
|
virtual bool next();
|
||||||
virtual bool done() const;
|
virtual bool done() const;
|
||||||
virtual state_complement* current_state() const;
|
virtual state_complement* dst() const;
|
||||||
virtual bdd current_condition() const;
|
virtual bdd cond() const;
|
||||||
virtual acc_cond::mark_t current_acceptance_conditions() const;
|
virtual acc_cond::mark_t acc() const;
|
||||||
private:
|
private:
|
||||||
succ_list_t list_;
|
succ_list_t list_;
|
||||||
acc_cond::mark_t the_acceptance_cond_;
|
acc_cond::mark_t the_acceptance_cond_;
|
||||||
|
|
@ -988,21 +988,21 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
state_complement*
|
state_complement*
|
||||||
twa_safra_complement_succ_iterator::current_state() const
|
twa_safra_complement_succ_iterator::dst() const
|
||||||
{
|
{
|
||||||
assert(!done());
|
assert(!done());
|
||||||
return new state_complement(*(it_->second));
|
return new state_complement(*(it_->second));
|
||||||
}
|
}
|
||||||
|
|
||||||
bdd
|
bdd
|
||||||
twa_safra_complement_succ_iterator::current_condition() const
|
twa_safra_complement_succ_iterator::cond() const
|
||||||
{
|
{
|
||||||
assert(!done());
|
assert(!done());
|
||||||
return it_->first;
|
return it_->first;
|
||||||
}
|
}
|
||||||
|
|
||||||
acc_cond::mark_t
|
acc_cond::mark_t
|
||||||
twa_safra_complement_succ_iterator::current_acceptance_conditions() const
|
twa_safra_complement_succ_iterator::acc() const
|
||||||
{
|
{
|
||||||
assert(!done());
|
assert(!done());
|
||||||
return the_acceptance_cond_;
|
return the_acceptance_cond_;
|
||||||
|
|
|
||||||
|
|
@ -77,13 +77,13 @@ namespace spot
|
||||||
todo.pop_front();
|
todo.pop_front();
|
||||||
for (auto i: a_->succ(src))
|
for (auto i: a_->succ(src))
|
||||||
{
|
{
|
||||||
const state* dest = filter(i->current_state());
|
const state* dest = filter(i->dst());
|
||||||
|
|
||||||
if (!dest)
|
if (!dest)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
bdd cond = i->current_condition();
|
bdd cond = i->cond();
|
||||||
acc_cond::mark_t acc = i->current_acceptance_conditions();
|
acc_cond::mark_t acc = i->acc();
|
||||||
twa_run::step s = { src, cond, acc };
|
twa_run::step s = { src, cond, acc };
|
||||||
|
|
||||||
if (match(s, dest))
|
if (match(s, dest))
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ namespace spot
|
||||||
/// bfs_steps does not do handle the memory for the states it
|
/// bfs_steps does not do handle the memory for the states it
|
||||||
/// generates, this is the job of filter(). Here \a s is a new
|
/// generates, this is the job of filter(). Here \a s is a new
|
||||||
/// state* that search() has just allocated (using
|
/// state* that search() has just allocated (using
|
||||||
/// twa_succ_iterator::current_state()), and the return of this
|
/// twa_succ_iterator::dst()), and the return of this
|
||||||
/// function should be a state* that does not need to be freed by
|
/// function should be a state* that does not need to be freed by
|
||||||
/// search().
|
/// search().
|
||||||
///
|
///
|
||||||
|
|
|
||||||
|
|
@ -195,8 +195,8 @@ namespace spot
|
||||||
|
|
||||||
for (auto li: left->succ(ls))
|
for (auto li: left->succ(ls))
|
||||||
{
|
{
|
||||||
state_pair d(li->current_state(), ris);
|
state_pair d(li->dst(), ris);
|
||||||
bdd lc = li->current_condition();
|
bdd lc = li->cond();
|
||||||
|
|
||||||
twa_succ_iterator* ri = nullptr;
|
twa_succ_iterator* ri = nullptr;
|
||||||
// Should we reset the right automaton?
|
// Should we reset the right automaton?
|
||||||
|
|
@ -222,15 +222,15 @@ namespace spot
|
||||||
acc_cond::mark_t racc = radd;
|
acc_cond::mark_t racc = radd;
|
||||||
if (ri)
|
if (ri)
|
||||||
{
|
{
|
||||||
cond = lc & ri->current_condition();
|
cond = lc & ri->cond();
|
||||||
// Skip incompatible edges.
|
// Skip incompatible edges.
|
||||||
if (cond == bddfalse)
|
if (cond == bddfalse)
|
||||||
{
|
{
|
||||||
ri->next();
|
ri->next();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
d.second = ri->current_state();
|
d.second = ri->dst();
|
||||||
racc = ri->current_acceptance_conditions();
|
racc = ri->acc();
|
||||||
}
|
}
|
||||||
|
|
||||||
int dest;
|
int dest;
|
||||||
|
|
@ -247,7 +247,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
acc_cond::mark_t a =
|
acc_cond::mark_t a =
|
||||||
res->acc().join(la, li->current_acceptance_conditions(),
|
res->acc().join(la, li->acc(),
|
||||||
ra, racc);
|
ra, racc);
|
||||||
res->new_edge(src, dest, bdd_exist(cond, v), a);
|
res->new_edge(src, dest, bdd_exist(cond, v), a);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -73,8 +73,8 @@ namespace spot
|
||||||
const twa_succ_iterator* si)
|
const twa_succ_iterator* si)
|
||||||
{
|
{
|
||||||
out_->new_edge
|
out_->new_edge
|
||||||
(in - 1, out - 1, si->current_condition(),
|
(in - 1, out - 1, si->cond(),
|
||||||
si->current_acceptance_conditions());
|
si->acc());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
|
||||||
|
|
@ -548,11 +548,11 @@ namespace spot
|
||||||
if (j->first())
|
if (j->first())
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (j->current_condition() != label
|
if (j->cond() != label
|
||||||
|| j->current_acceptance_conditions() != acc)
|
|| j->acc() != acc)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
const state* s2 = j->current_state();
|
const state* s2 = j->dst();
|
||||||
if (s2->compare(next))
|
if (s2->compare(next))
|
||||||
{
|
{
|
||||||
s2->destroy();
|
s2->destroy();
|
||||||
|
|
@ -579,15 +579,15 @@ namespace spot
|
||||||
if (j->first())
|
if (j->first())
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
const state* s2 = j->current_state();
|
const state* s2 = j->dst();
|
||||||
os << " *";
|
os << " *";
|
||||||
print_annotation(os, aut, j);
|
print_annotation(os, aut, j);
|
||||||
os << " label="
|
os << " label="
|
||||||
<< bdd_format_formula(aut->get_dict(),
|
<< bdd_format_formula(aut->get_dict(),
|
||||||
j->current_condition())
|
j->cond())
|
||||||
<< " and acc="
|
<< " and acc="
|
||||||
<< (aut->acc().format
|
<< (aut->acc().format
|
||||||
(j->current_acceptance_conditions()))
|
(j->acc()))
|
||||||
<< " going to " << aut->format_state(s2) << '\n';
|
<< " going to " << aut->format_state(s2) << '\n';
|
||||||
s2->destroy();
|
s2->destroy();
|
||||||
}
|
}
|
||||||
|
|
@ -717,11 +717,11 @@ namespace spot
|
||||||
const state* the_next = nullptr;
|
const state* the_next = nullptr;
|
||||||
for (auto j: aut->succ(s))
|
for (auto j: aut->succ(s))
|
||||||
{
|
{
|
||||||
if (j->current_condition() != label
|
if (j->cond() != label
|
||||||
|| j->current_acceptance_conditions() != acc)
|
|| j->acc() != acc)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
const state* s2 = j->current_state();
|
const state* s2 = j->dst();
|
||||||
if (s2->compare(next) == 0)
|
if (s2->compare(next) == 0)
|
||||||
{
|
{
|
||||||
the_next = s2;
|
the_next = s2;
|
||||||
|
|
|
||||||
|
|
@ -108,7 +108,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
|
|
||||||
state* s = i->current_state();
|
state* s = i->dst();
|
||||||
auto j = ecs_->h.find(s);
|
auto j = ecs_->h.find(s);
|
||||||
assert(j != ecs_->h.end());
|
assert(j != ecs_->h.end());
|
||||||
s->destroy();
|
s->destroy();
|
||||||
|
|
@ -215,8 +215,8 @@ namespace spot
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
// Fetch the values (destination state, acceptance conditions
|
// Fetch the values (destination state, acceptance conditions
|
||||||
// of the arc) we are interested in...
|
// of the arc) we are interested in...
|
||||||
const state* dest = succ->current_state();
|
const state* dest = succ->dst();
|
||||||
acc_cond::mark_t acc = succ->current_acceptance_conditions();
|
acc_cond::mark_t acc = succ->acc();
|
||||||
// ... and point the iterator to the next successor, for
|
// ... and point the iterator to the next successor, for
|
||||||
// the next iteration.
|
// the next iteration.
|
||||||
succ->next();
|
succ->next();
|
||||||
|
|
@ -319,8 +319,8 @@ namespace spot
|
||||||
{
|
{
|
||||||
for (auto iter: shy->ecs_->aut->succ(s))
|
for (auto iter: shy->ecs_->aut->succ(s))
|
||||||
{
|
{
|
||||||
q.emplace_back(iter->current_acceptance_conditions(),
|
q.emplace_back(iter->acc(),
|
||||||
iter->current_state());
|
iter->dst());
|
||||||
shy->inc_depth();
|
shy->inc_depth();
|
||||||
shy->inc_transitions();
|
shy->inc_transitions();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -120,9 +120,9 @@ namespace spot
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const state* s_prime = iter->current_state();
|
const state* s_prime = iter->dst();
|
||||||
bool acc =
|
bool acc =
|
||||||
a_->acc().accepting(iter->current_acceptance_conditions());
|
a_->acc().accepting(iter->acc());
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
|
|
||||||
trace << " Next successor: s_prime = "
|
trace << " Next successor: s_prime = "
|
||||||
|
|
@ -312,8 +312,8 @@ namespace spot
|
||||||
twa_run::step st =
|
twa_run::step st =
|
||||||
{
|
{
|
||||||
data.stack[father].s->clone(),
|
data.stack[father].s->clone(),
|
||||||
data.stack[father].lasttr->current_condition(),
|
data.stack[father].lasttr->cond(),
|
||||||
data.stack[father].lasttr->current_acceptance_conditions()
|
data.stack[father].lasttr->acc()
|
||||||
};
|
};
|
||||||
res->prefix.push_front(st);
|
res->prefix.push_front(st);
|
||||||
father = data.stack[father].pre;
|
father = data.stack[father].pre;
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ namespace spot
|
||||||
twa_succ_iterator* it = aut_->succ_iter(s);
|
twa_succ_iterator* it = aut_->succ_iter(s);
|
||||||
if (!it->first())
|
if (!it->first())
|
||||||
return {};
|
return {};
|
||||||
auto res = it->current_acceptance_conditions();
|
auto res = it->acc();
|
||||||
aut_->release_iter(it);
|
aut_->release_iter(it);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
@ -98,11 +98,11 @@ namespace spot
|
||||||
body_ << out - 1 << ' ';
|
body_ << out - 1 << ' ';
|
||||||
if (!sba_format_)
|
if (!sba_format_)
|
||||||
{
|
{
|
||||||
for (auto s: aut_->acc().sets(si->current_acceptance_conditions()))
|
for (auto s: aut_->acc().sets(si->acc()))
|
||||||
body_ << s << ' ';
|
body_ << s << ' ';
|
||||||
body_ << "-1 ";
|
body_ << "-1 ";
|
||||||
}
|
}
|
||||||
print_lbt_ltl(body_, bdd_to_formula(si->current_condition(),
|
print_lbt_ltl(body_, bdd_to_formula(si->cond(),
|
||||||
aut_->get_dict())) << '\n';
|
aut_->get_dict())) << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1234,8 +1234,8 @@ namespace spot
|
||||||
return res;
|
return res;
|
||||||
for (auto i: aut->succ(st))
|
for (auto i: aut->succ(st))
|
||||||
{
|
{
|
||||||
bdd label = i->current_condition();
|
bdd label = i->cond();
|
||||||
state* s = i->current_state();
|
state* s = i->dst();
|
||||||
formula dest =
|
formula dest =
|
||||||
namer->get_name(aut->state_number(s));
|
namer->get_name(aut->state_number(s));
|
||||||
|
|
||||||
|
|
@ -1279,8 +1279,8 @@ namespace spot
|
||||||
|
|
||||||
for (auto i: aut->succ(st))
|
for (auto i: aut->succ(st))
|
||||||
{
|
{
|
||||||
bdd label = i->current_condition();
|
bdd label = i->cond();
|
||||||
state* s = i->current_state();
|
state* s = i->dst();
|
||||||
formula dest = namer->get_name(aut->state_number(s));
|
formula dest = namer->get_name(aut->state_number(s));
|
||||||
|
|
||||||
missing -= label;
|
missing -= label;
|
||||||
|
|
|
||||||
|
|
@ -186,11 +186,11 @@ namespace spot
|
||||||
trace << "DFS_BLUE treats: " << a_->format_state(f.s) << std::endl;
|
trace << "DFS_BLUE treats: " << a_->format_state(f.s) << std::endl;
|
||||||
if (!f.it->done())
|
if (!f.it->done())
|
||||||
{
|
{
|
||||||
const state *s_prime = f.it->current_state();
|
const state *s_prime = f.it->dst();
|
||||||
trace << " Visit the successor: "
|
trace << " Visit the successor: "
|
||||||
<< a_->format_state(s_prime) << std::endl;
|
<< a_->format_state(s_prime) << std::endl;
|
||||||
bdd label = f.it->current_condition();
|
bdd label = f.it->cond();
|
||||||
auto acc = f.it->current_acceptance_conditions();
|
auto acc = f.it->acc();
|
||||||
// Go down the edge (f.s, <label, acc>, s_prime)
|
// Go down the edge (f.s, <label, acc>, s_prime)
|
||||||
f.it->next();
|
f.it->next();
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
|
|
@ -273,11 +273,11 @@ namespace spot
|
||||||
trace << "DFS_RED treats: " << a_->format_state(f.s) << std::endl;
|
trace << "DFS_RED treats: " << a_->format_state(f.s) << std::endl;
|
||||||
if (!f.it->done())
|
if (!f.it->done())
|
||||||
{
|
{
|
||||||
const state *s_prime = f.it->current_state();
|
const state *s_prime = f.it->dst();
|
||||||
trace << " Visit the successor: "
|
trace << " Visit the successor: "
|
||||||
<< a_->format_state(s_prime) << std::endl;
|
<< a_->format_state(s_prime) << std::endl;
|
||||||
bdd label = f.it->current_condition();
|
bdd label = f.it->cond();
|
||||||
auto acc = f.it->current_acceptance_conditions();
|
auto acc = f.it->acc();
|
||||||
// Go down the edge (f.s, <label, acc>, s_prime)
|
// Go down the edge (f.s, <label, acc>, s_prime)
|
||||||
f.it->next();
|
f.it->next();
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,7 @@ namespace spot
|
||||||
|
|
||||||
for (auto sit: a->succ(src))
|
for (auto sit: a->succ(src))
|
||||||
{
|
{
|
||||||
const state* dst = sit->current_state();
|
const state* dst = sit->dst();
|
||||||
// Is it a new state ?
|
// Is it a new state ?
|
||||||
if (seen->find(dst) == seen->end())
|
if (seen->find(dst) == seen->end())
|
||||||
{
|
{
|
||||||
|
|
@ -156,13 +156,13 @@ namespace spot
|
||||||
// Connect it to all destinations.
|
// Connect it to all destinations.
|
||||||
for (auto succit: a->succ(src))
|
for (auto succit: a->succ(src))
|
||||||
{
|
{
|
||||||
const state* dst = succit->current_state();
|
const state* dst = succit->dst();
|
||||||
hash_map::const_iterator i = state_num.find(dst);
|
hash_map::const_iterator i = state_num.find(dst);
|
||||||
dst->destroy();
|
dst->destroy();
|
||||||
if (i == state_num.end()) // Ignore useless destinations.
|
if (i == state_num.end()) // Ignore useless destinations.
|
||||||
continue;
|
continue;
|
||||||
res->new_acc_edge(src_num, i->second,
|
res->new_acc_edge(src_num, i->second,
|
||||||
succit->current_condition(), accepting);
|
succit->cond(), accepting);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
res->merge_edges();
|
res->merge_edges();
|
||||||
|
|
@ -354,7 +354,7 @@ namespace spot
|
||||||
bdd f = bddfalse;
|
bdd f = bddfalse;
|
||||||
for (auto si: det_a->succ(src))
|
for (auto si: det_a->succ(src))
|
||||||
{
|
{
|
||||||
const state* dst = si->current_state();
|
const state* dst = si->dst();
|
||||||
hash_map::const_iterator i = state_set_map.find(dst);
|
hash_map::const_iterator i = state_set_map.find(dst);
|
||||||
dst->destroy();
|
dst->destroy();
|
||||||
if (i == state_set_map.end())
|
if (i == state_set_map.end())
|
||||||
|
|
@ -365,7 +365,7 @@ namespace spot
|
||||||
// want to ignore some useless states). Simply
|
// want to ignore some useless states). Simply
|
||||||
// ignore these states here.
|
// ignore these states here.
|
||||||
continue;
|
continue;
|
||||||
f |= (bdd_ithvar(i->second) & si->current_condition());
|
f |= (bdd_ithvar(i->second) & si->cond());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Have we already seen this formula ?
|
// Have we already seen this formula ?
|
||||||
|
|
|
||||||
|
|
@ -272,11 +272,11 @@ namespace spot
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
if (!f.it->done())
|
if (!f.it->done())
|
||||||
{
|
{
|
||||||
const state *s_prime = f.it->current_state();
|
const state *s_prime = f.it->dst();
|
||||||
ndfsr_trace << " Visit the successor: "
|
ndfsr_trace << " Visit the successor: "
|
||||||
<< a_->format_state(s_prime) << std::endl;
|
<< a_->format_state(s_prime) << std::endl;
|
||||||
bdd label = f.it->current_condition();
|
bdd label = f.it->cond();
|
||||||
auto acc = f.it->current_acceptance_conditions();
|
auto acc = f.it->acc();
|
||||||
f.it->next();
|
f.it->next();
|
||||||
if (h_.has_been_visited(s_prime))
|
if (h_.has_been_visited(s_prime))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ namespace spot
|
||||||
if (si->first())
|
if (si->first())
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
const state* current = si->current_state();
|
const state* current = si->dst();
|
||||||
seen_map::const_iterator s = seen.find(current);
|
seen_map::const_iterator s = seen.find(current);
|
||||||
bool ws = want_state(current);
|
bool ws = want_state(current);
|
||||||
if (s == seen.end())
|
if (s == seen.end())
|
||||||
|
|
@ -202,7 +202,7 @@ namespace spot
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
dst = si->current_state();
|
dst = si->dst();
|
||||||
auto res = seen.emplace(dst, n);
|
auto res = seen.emplace(dst, n);
|
||||||
if (!res.second)
|
if (!res.second)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -183,11 +183,11 @@ namespace spot
|
||||||
trace << "DFS_BLUE treats: " << a_->format_state(f.s) << std::endl;
|
trace << "DFS_BLUE treats: " << a_->format_state(f.s) << std::endl;
|
||||||
if (!f.it->done())
|
if (!f.it->done())
|
||||||
{
|
{
|
||||||
const state *s_prime = f.it->current_state();
|
const state *s_prime = f.it->dst();
|
||||||
trace << " Visit the successor: "
|
trace << " Visit the successor: "
|
||||||
<< a_->format_state(s_prime) << std::endl;
|
<< a_->format_state(s_prime) << std::endl;
|
||||||
bdd label = f.it->current_condition();
|
bdd label = f.it->cond();
|
||||||
auto acc = f.it->current_acceptance_conditions();
|
auto acc = f.it->acc();
|
||||||
// Go down the edge (f.s, <label, acc>, s_prime)
|
// Go down the edge (f.s, <label, acc>, s_prime)
|
||||||
f.it->next();
|
f.it->next();
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
|
|
@ -274,11 +274,11 @@ namespace spot
|
||||||
trace << "DFS_RED treats: " << a_->format_state(f.s) << std::endl;
|
trace << "DFS_RED treats: " << a_->format_state(f.s) << std::endl;
|
||||||
if (!f.it->done())
|
if (!f.it->done())
|
||||||
{
|
{
|
||||||
const state *s_prime = f.it->current_state();
|
const state *s_prime = f.it->dst();
|
||||||
trace << " Visit the successor: "
|
trace << " Visit the successor: "
|
||||||
<< a_->format_state(s_prime) << std::endl;
|
<< a_->format_state(s_prime) << std::endl;
|
||||||
bdd label = f.it->current_condition();
|
bdd label = f.it->cond();
|
||||||
auto acc = f.it->current_acceptance_conditions();
|
auto acc = f.it->acc();
|
||||||
// Go down the edge (f.s, <label, acc>, s_prime)
|
// Go down the edge (f.s, <label, acc>, s_prime)
|
||||||
f.it->next();
|
f.it->next();
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
++s_.edges;
|
++s_.edges;
|
||||||
|
|
||||||
bdd cond = it->current_condition();
|
bdd cond = it->cond();
|
||||||
bdd newvars = bdd_exist(bdd_support(cond), seen_);
|
bdd newvars = bdd_exist(bdd_support(cond), seen_);
|
||||||
if (newvars != bddtrue)
|
if (newvars != bddtrue)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@ namespace spot
|
||||||
need_loop_ = true;
|
need_loop_ = true;
|
||||||
if (it_->first())
|
if (it_->first())
|
||||||
{
|
{
|
||||||
cond_ = it_->current_condition();
|
cond_ = it_->cond();
|
||||||
next_edge();
|
next_edge();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -142,7 +142,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cond_ = it_->current_condition();
|
cond_ = it_->cond();
|
||||||
next_edge();
|
next_edge();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -157,15 +157,15 @@ namespace spot
|
||||||
// inspection
|
// inspection
|
||||||
|
|
||||||
state_tgbasl*
|
state_tgbasl*
|
||||||
current_state() const
|
dst() const
|
||||||
{
|
{
|
||||||
if (loop_)
|
if (loop_)
|
||||||
return new state_tgbasl(state_->real_state(), state_->cond());
|
return new state_tgbasl(state_->real_state(), state_->cond());
|
||||||
return new state_tgbasl(it_->current_state(), one_);
|
return new state_tgbasl(it_->dst(), one_);
|
||||||
}
|
}
|
||||||
|
|
||||||
bdd
|
bdd
|
||||||
current_condition() const
|
cond() const
|
||||||
{
|
{
|
||||||
if (loop_)
|
if (loop_)
|
||||||
return state_->cond();
|
return state_->cond();
|
||||||
|
|
@ -173,11 +173,11 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
acc_cond::mark_t
|
acc_cond::mark_t
|
||||||
current_acceptance_conditions() const
|
acc() const
|
||||||
{
|
{
|
||||||
if (loop_)
|
if (loop_)
|
||||||
return 0U;
|
return 0U;
|
||||||
return it_->current_acceptance_conditions();
|
return it_->acc();
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
@ -187,7 +187,7 @@ namespace spot
|
||||||
one_ = bdd_satoneset(cond_, aps_, bddtrue);
|
one_ = bdd_satoneset(cond_, aps_, bddtrue);
|
||||||
cond_ -= one_;
|
cond_ -= one_;
|
||||||
if (need_loop_ && (state_->cond() == one_)
|
if (need_loop_ && (state_->cond() == one_)
|
||||||
&& (state_ == it_->current_state()))
|
&& (state_ == it_->dst()))
|
||||||
need_loop_ = false;
|
need_loop_ = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -156,11 +156,11 @@ namespace spot
|
||||||
trace << "DFS_BLUE treats: " << a_->format_state(f.s) << std::endl;
|
trace << "DFS_BLUE treats: " << a_->format_state(f.s) << std::endl;
|
||||||
if (!f.it->done())
|
if (!f.it->done())
|
||||||
{
|
{
|
||||||
const state *s_prime = f.it->current_state();
|
const state *s_prime = f.it->dst();
|
||||||
trace << " Visit the successor: "
|
trace << " Visit the successor: "
|
||||||
<< a_->format_state(s_prime) << std::endl;
|
<< a_->format_state(s_prime) << std::endl;
|
||||||
bdd label = f.it->current_condition();
|
bdd label = f.it->cond();
|
||||||
auto acc = f.it->current_acceptance_conditions();
|
auto acc = f.it->acc();
|
||||||
// Go down the edge (f.s, <label, acc>, s_prime)
|
// Go down the edge (f.s, <label, acc>, s_prime)
|
||||||
f.it->next();
|
f.it->next();
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
|
|
@ -190,12 +190,12 @@ namespace spot
|
||||||
for (auto i: a_->succ(f.s))
|
for (auto i: a_->succ(f.s))
|
||||||
{
|
{
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
const state *s_prime = i->current_state();
|
const state *s_prime = i->dst();
|
||||||
trace << "DFS_BLUE rescanning the arc from "
|
trace << "DFS_BLUE rescanning the arc from "
|
||||||
<< a_->format_state(f.s) << " to "
|
<< a_->format_state(f.s) << " to "
|
||||||
<< a_->format_state(s_prime) << std::endl;
|
<< a_->format_state(s_prime) << std::endl;
|
||||||
bdd label = i->current_condition();
|
bdd label = i->cond();
|
||||||
auto acc = i->current_acceptance_conditions();
|
auto acc = i->acc();
|
||||||
typename heap::color_ref c_prime = h.get_color_ref(s_prime);
|
typename heap::color_ref c_prime = h.get_color_ref(s_prime);
|
||||||
assert(!c_prime.is_white());
|
assert(!c_prime.is_white());
|
||||||
auto acu = acc | c.get_acc();
|
auto acu = acc | c.get_acc();
|
||||||
|
|
@ -236,11 +236,11 @@ namespace spot
|
||||||
trace << "DFS_RED treats: " << a_->format_state(f.s) << std::endl;
|
trace << "DFS_RED treats: " << a_->format_state(f.s) << std::endl;
|
||||||
if (!f.it->done())
|
if (!f.it->done())
|
||||||
{
|
{
|
||||||
const state *s_prime = f.it->current_state();
|
const state *s_prime = f.it->dst();
|
||||||
trace << " Visit the successor: "
|
trace << " Visit the successor: "
|
||||||
<< a_->format_state(s_prime) << std::endl;
|
<< a_->format_state(s_prime) << std::endl;
|
||||||
bdd label = f.it->current_condition();
|
bdd label = f.it->cond();
|
||||||
auto acc = f.it->current_acceptance_conditions();
|
auto acc = f.it->acc();
|
||||||
// Go down the edge (f.s, <label, acc>, s_prime)
|
// Go down the edge (f.s, <label, acc>, s_prime)
|
||||||
f.it->next();
|
f.it->next();
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
|
|
|
||||||
|
|
@ -196,11 +196,11 @@ namespace spot
|
||||||
trace << "DFS_BLUE treats: " << a_->format_state(f.s) << std::endl;
|
trace << "DFS_BLUE treats: " << a_->format_state(f.s) << std::endl;
|
||||||
if (!f.it->done())
|
if (!f.it->done())
|
||||||
{
|
{
|
||||||
const state *s_prime = f.it->current_state();
|
const state *s_prime = f.it->dst();
|
||||||
trace << " Visit the successor: "
|
trace << " Visit the successor: "
|
||||||
<< a_->format_state(s_prime) << std::endl;
|
<< a_->format_state(s_prime) << std::endl;
|
||||||
bdd label = f.it->current_condition();
|
bdd label = f.it->cond();
|
||||||
auto acc = f.it->current_acceptance_conditions();
|
auto acc = f.it->acc();
|
||||||
// Go down the edge (f.s, <label, acc>, s_prime)
|
// Go down the edge (f.s, <label, acc>, s_prime)
|
||||||
f.it->next();
|
f.it->next();
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
|
|
@ -315,11 +315,11 @@ namespace spot
|
||||||
trace << "DFS_RED treats: " << a_->format_state(f.s) << std::endl;
|
trace << "DFS_RED treats: " << a_->format_state(f.s) << std::endl;
|
||||||
if (!f.it->done())
|
if (!f.it->done())
|
||||||
{
|
{
|
||||||
const state *s_prime = f.it->current_state();
|
const state *s_prime = f.it->dst();
|
||||||
trace << " Visit the successor: "
|
trace << " Visit the successor: "
|
||||||
<< a_->format_state(s_prime) << std::endl;
|
<< a_->format_state(s_prime) << std::endl;
|
||||||
bdd label = f.it->current_condition();
|
bdd label = f.it->cond();
|
||||||
auto acc = f.it->current_acceptance_conditions();
|
auto acc = f.it->acc();
|
||||||
// Go down the edge (f.s, <label, acc>, s_prime)
|
// Go down the edge (f.s, <label, acc>, s_prime)
|
||||||
f.it->next();
|
f.it->next();
|
||||||
inc_transitions();
|
inc_transitions();
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ s0 = a.get_init_state()
|
||||||
it = a.succ_iter(s0)
|
it = a.succ_iter(s0)
|
||||||
it.first()
|
it.first()
|
||||||
while not it.done():
|
while not it.done():
|
||||||
c = it.current_condition()
|
c = it.cond()
|
||||||
sys.stdout.write("%s\n" % c)
|
sys.stdout.write("%s\n" % c)
|
||||||
b &= c # `&=' is defined only in buddy. So if this statement works
|
b &= c # `&=' is defined only in buddy. So if this statement works
|
||||||
# it means buddy can grok spot's objects.
|
# it means buddy can grok spot's objects.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue