twaalgos: introduce match_states(a,b)

This is a useful part for issue #591.

* spot/twaalgos/matchstates.cc, spot/twaalgos/matchstates.hh: New
files.
* spot/twaalgos/Makefile.am: Add them.
* python/spot/impl.i: Add python bindings.
* tests/python/matchstates.py: New file.
* tests/Makefile.am: Add it.
* NEWS: Mention this new function.
This commit is contained in:
Alexandre Duret-Lutz 2024-08-28 15:57:33 +02:00
parent b549e8e8c1
commit 5f1d00b858
7 changed files with 164 additions and 0 deletions

View file

@ -132,6 +132,7 @@
#include <spot/twaalgos/contains.hh>
#include <spot/twaalgos/determinize.hh>
#include <spot/twaalgos/magic.hh>
#include <spot/twaalgos/matchstates.hh>
#include <spot/twaalgos/minimize.hh>
#include <spot/twaalgos/mealy_machine.hh>
#include <spot/twaalgos/neverclaim.hh>
@ -522,6 +523,7 @@ namespace std {
%template(pairintacccond) pair<int, spot::acc_cond>;
%template(vectorformula) vector<spot::formula>;
%template(vectorunsigned) vector<unsigned>;
%template(vectorvectorunsigned) vector<vector<unsigned>>;
%template(vectorpairunsigned) vector<pair<unsigned, unsigned>>;
%template(vectoracccond) vector<spot::acc_cond>;
%template(vectoracccode) vector<spot::acc_cond::acc_code>;
@ -739,6 +741,7 @@ def state_is_accepting(self, src) -> "bool":
%include <spot/twaalgos/contains.hh>
%include <spot/twaalgos/langmap.hh>
%include <spot/twaalgos/magic.hh>
%include <spot/twaalgos/matchstates.hh>
%include <spot/twaalgos/minimize.hh>
%include <spot/twaalgos/mealy_machine.hh>
%include <spot/twaalgos/neverclaim.hh>