Better selection of the acceptance of the initial state in SBA.
* src/tgba/tgbatba.cc (tgba_sba_proxy::tgba_sba_proxy): Set cycle_start_ to start in the accepting layer of the degeneralized automaton if the initial state has an accepting self-loop. Otherwise, starts at the level of the first acceptance condition as previously. (tgba_sba_proxy::get_init_state): Use cycle_start_. * src/tgba/tgbatba.hh (tgba_tba_proxy::a_): Make it protected so that we can use it in tgba_sba_proxy::tgba_sba_proxy. (tgba_sba_proxy::cycle_start_, tgba_sba_proxy::get_init_state): Declare. * src/tgbatest/ltl2tgba.test: More tests.
This commit is contained in:
parent
52faa81a77
commit
34af32879c
4 changed files with 82 additions and 2 deletions
|
|
@ -1,3 +1,5 @@
|
|||
// Copyright (C) 2010 Laboratoire de Recherche et Développement de
|
||||
// l'Epita.
|
||||
// Copyright (C) 2003, 2004, 2006 Laboratoire d'Informatique de Paris
|
||||
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
||||
// Université Pierre et Marie Curie.
|
||||
|
|
@ -79,8 +81,8 @@ namespace spot
|
|||
virtual bdd compute_support_variables(const state* state) const;
|
||||
|
||||
cycle_list acc_cycle_;
|
||||
private:
|
||||
const tgba* a_;
|
||||
private:
|
||||
bdd the_acceptance_cond_;
|
||||
// Disallow copy.
|
||||
tgba_tba_proxy(const tgba_tba_proxy&);
|
||||
|
|
@ -115,6 +117,10 @@ namespace spot
|
|||
/// considered accepting. This is useful in algorithms working on
|
||||
/// degeneralized automata with state acceptance conditions.
|
||||
bool state_is_accepting(const state* state) const;
|
||||
|
||||
virtual state* get_init_state() const;
|
||||
protected:
|
||||
cycle_list::iterator cycle_start_;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue