introduce spot::split_edges()

Fixes #255.

* spot/twaalgos/split.cc, spot/twaalgos/split.hh,
tests/core/split.test: New files.
* spot/twaalgos/Makefile.am, tests/Makefile.am: Add them.
* bin/autfilt.cc (--split-edges): New option.
* python/spot/impl.i: Process split.hh.
* tests/python/alternating.py: Test split_edges() on
an alternating automaton.
This commit is contained in:
Alexandre Duret-Lutz 2017-05-05 20:21:50 +02:00
parent 3d8c48555b
commit 19aae6f9cf
9 changed files with 200 additions and 22 deletions

View file

@ -137,3 +137,35 @@ State: 4
State: 5
[0&1] 0&1&2
--END--"""
h = spot.split_edges(aut).to_str('hoa')
print(h)
assert h == """HOA: v1
States: 6
Start: 0
AP: 2 "p1" "p2"
acc-name: Buchi
Acceptance: 1 Inf(0)
properties: univ-branch trans-labels explicit-labels trans-acc
--BODY--
State: 0
[0&!1] 1&2 {0}
[0&1] 1&2 {0}
[!0&1] 0&1
[0&1] 0&1
State: 1
[0&1] 0&1&2
State: 2
[!0&1] 2
[0&!1] 2
[0&1] 2
State: 3
[0&!1] 1&2
[0&1] 1&2
[!0&1] 0&1&2
[0&1] 0&1&2
State: 4
[0&1] 0&1&2
State: 5
[0&1] 0&1&2
--END--"""