alternation: add a states_and algorithm
This should will come handy to implement the convertion from LTL to alternating automata, and to handle automata with multiple initial states. * spot/twaalgos/alternation.hh, spot/twaalgos/alternation.cc: New files. * spot/twaalgos/Makefile.am: Add them. * python/spot/impl.i: Add bindings. * tests/python/alternating.py: Test states_and.
This commit is contained in:
parent
48c812a595
commit
27ab631cdc
5 changed files with 233 additions and 0 deletions
|
|
@ -113,6 +113,7 @@
|
|||
#include <spot/twa/taatgba.hh>
|
||||
#include <spot/twa/twaproduct.hh>
|
||||
|
||||
#include <spot/twaalgos/alternation.hh>
|
||||
#include <spot/twaalgos/cleanacc.hh>
|
||||
#include <spot/twaalgos/degen.hh>
|
||||
#include <spot/twaalgos/dot.hh>
|
||||
|
|
@ -507,6 +508,7 @@ def state_is_accepting(self, src) -> "bool":
|
|||
|
||||
// Should come after the definition of twa_graph
|
||||
|
||||
%include <spot/twaalgos/alternation.hh>
|
||||
%include <spot/twaalgos/cleanacc.hh>
|
||||
%include <spot/twaalgos/degen.hh>
|
||||
%include <spot/twaalgos/dot.hh>
|
||||
|
|
@ -932,6 +934,13 @@ unblock_signal(int signum)
|
|||
return sigprocmask(SIG_UNBLOCK, &set, 0);
|
||||
}
|
||||
|
||||
// for alternation.hh
|
||||
unsigned states_and(const spot::twa_graph_ptr& aut,
|
||||
const std::vector<unsigned>& il)
|
||||
{
|
||||
return states_and(aut, il.begin(), il.end());
|
||||
}
|
||||
|
||||
%}
|
||||
|
||||
%extend spot::parse_error_list {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue