21 # define SPOT_TA_TA_HH
26 #include "misc/bddlt.hh"
27 #include "tgba/state.hh"
28 #include "tgba/succiter.hh"
29 #include "tgba/bdddict.hh"
35 class ta_succ_iterator;
87 typedef std::set<state*, state_ptr_less_than> states_set_t;
90 virtual const states_set_t
91 get_initial_states_set()
const = 0;
133 get_dict()
const = 0;
144 is_accepting_state(
const spot::state* s)
const = 0;
149 is_livelock_accepting_state(
const spot::state* s)
const = 0;
158 get_state_condition(
const spot::state* s)
const = 0;
174 all_acceptance_conditions()
const = 0;
234 std::list<state*> rem;
265 typedef std::list<connected_component> stack_type;
295 #endif // SPOT_TA_TA_HH
virtual void first()=0
Position the iterator on the first successor (if any).
virtual bdd current_condition() const =0
Get the changeset on the transition leading to current successor.
connected_component & top()
Access the top SCC.
void pop()
Pop the top SCC.
std::list< state * > & rem()
The rem member of the top SCC.
Abstract class for states.
Definition: state.hh:40
bdd current_acceptance_conditions() const =0
Get the acceptance conditions on the transition leading to this successor.
virtual bool done() const =0
Check whether the iteration is finished.
Iterate over the successors of a state.
Definition: succiter.hh:38
bool empty() const
Is the stack empty?
virtual spot::state * get_artificial_initial_state() const
Get the artificial initial state set of the automaton. Return 0 if this artificial state is not imple...
Definition: ta.hh:101
Map BDD variables to formulae.
Definition: bdddict.hh:57
size_t size() const
How many SCC are in stack.
A Testing Automaton.
Definition: ta.hh:78
bdd condition
Definition: ta.hh:232
int index
Index of the SCC.
Definition: ta.hh:226
void push(int index)
Stack a new SCC with index index.
Iterate over the successors of a state.
Definition: ta.hh:186
virtual void next()=0
Jump to the next successor (if any).
virtual state * current_state() const =0
Get the state of the current successor.