21 #include <spot/twa/twagraph.hh>
22 #include <spot/twaalgos/emptiness.hh>
23 #include <spot/twaalgos/sccinfo.hh>
24 #include <spot/twaalgos/word.hh>
55 unsigned min_stem,
unsigned max_stem,
56 unsigned min_cycle,
unsigned max_cycle);
71 unsigned min_stem_, max_stem_;
72 unsigned min_cycle_, max_cycle_;
82 std::vector<unsigned> stem_;
83 std::vector<unsigned> cycle_;
88 bool cycle_exhausted_;
91 unsigned first_edge_(
unsigned state)
const;
92 unsigned next_edge_(
unsigned edge)
const;
93 unsigned edge_dst_(
unsigned edge)
const;
94 bdd edge_cond_(
unsigned edge)
const;
98 bool backtrack_(std::vector<unsigned>& path)
const;
99 bool extend_(std::vector<unsigned>& path,
100 unsigned from_state,
unsigned target_len);
101 bool is_valid_cycle_()
const;
104 bool advance_pair_();
105 bool advance_stem_();
106 bool advance_cycle_();
Lazily enumerate lasso-shaped accepted runs/words of bounded size.
Definition: lasso.hh:43
twa_word_ptr next_word()
Return the next accepted word, or nullptr when exhausted.
lasso_enumerator(const const_twa_graph_ptr &aut, unsigned min_stem, unsigned max_stem, unsigned min_cycle, unsigned max_cycle)
Construct a lasso enumerator.
twa_run_ptr next_run()
Return the next accepted run, or nullptr when exhausted.
Compute an SCC map and gather assorted information.
Definition: sccinfo.hh:465
Abstract class for states.
Definition: twa.hh:49
std::shared_ptr< twa_run > twa_run_ptr
Shared pointer to a twa_run.
Definition: twa.hh:38
std::shared_ptr< twa_word > twa_word_ptr
Shared pointer to a mutable twa_word.
Definition: fwd.hh:60
std::shared_ptr< const twa_graph > const_twa_graph_ptr
Shared pointer to a const twa_graph.
Definition: fwd.hh:38
Definition: automata.hh:26
An acceptance mark.
Definition: acc.hh:76