27 #include "twaalgos/emptiness.hh"
28 #include "twaalgos/emptiness_stats.hh"
93 SPOT_API emptiness_check_ptr
139 couvreur99(
const const_twa_ptr& a, option_map options = option_map());
142 class SPOT_API couvreur99_check:
public emptiness_check,
public ec_statistics
148 couvreur99_check(
const const_twa_ptr& a, option_map o = option_map());
149 virtual ~couvreur99_check();
152 virtual emptiness_check_result_ptr check();
154 virtual std::ostream& print_stats(std::ostream& os)
const;
164 std::shared_ptr<const couvreur99_check_status> result()
const;
167 std::shared_ptr<couvreur99_check_status> ecs_;
173 void remove_component(
const state* start_delete);
179 unsigned get_removed_components()
const;
180 unsigned get_vmsize()
const;
193 virtual emptiness_check_result_ptr check();
207 std::stack<acc_cond::mark_t> arc;
214 typedef std::list<successor> succ_queue;
217 succ_queue::iterator pos;
227 typedef std::list<todo_item> todo_list;
233 void dump_queue(std::ostream& os = std::cerr);
Manage a map of options.
Definition: optionmap.hh:36
A version of spot::couvreur99_check that tries to visit known states first.
Definition: gtec.hh:187
An implementation of the Couvreur99 emptiness-check algorithm.
Definition: gtec.hh:145
Abstract class for states.
Definition: twa.hh:42
unsigned removed_components
Number of dead SCC removed by the algorithm.
Definition: gtec.hh:178
bool poprem_
Whether to store the state to be removed.
Definition: gtec.hh:176
emptiness_check_ptr couvreur99(const const_twa_ptr &a, option_map options=option_map())
Check whether the language of an automate is empty.
bool group_
Whether successors should be grouped for states in the same SCC.
Definition: gtec.hh:236