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

11
NEWS
View file

@ -14,6 +14,10 @@ New in spot 2.3.3.dev (not yet released)
- genaut is a binary to produce families of automata defined in the
literature (in the same way as we have genltl for LTL formulas).
- autfilt learned --split-edges to convert labels that are Boolean
formulas into labels that are min-terms. (See spot::split_edges()
below.)
Library:
- A new library, libspotgen, gathers all functions used to generate
@ -62,6 +66,13 @@ New in spot 2.3.3.dev (not yet released)
level. A similar trick was already used in sbacc(), and saves a
few states in some cases.
- There is a new spot::split_edges() function that transforms edges
(labeled by Boolean formulas over atomic propositions) into
transitions (labeled by conjunctions where each atomic proposition
appear either positive or negative). This can be used to
preprocess automata before feeding them to algorithms or tools
that expect transitions labeled by letters.
Python:
- The 'spot.gen' package exports the functions from libspotgen.