parseaut: allow false edges to not be dropped

This is a followup to issue #548, which was caused by edges being
dropped.  In that context dropping edge was not really desirable, so
let's make this behavior configurable.

* spot/parseaut/public.hh: Add a new option.
* python/spot/__init__.py: Likewise.
* spot/parseaut/parseaut.yy: Honor that option.
* tests/python/parsetgba.py: Add a short test for it.
* NEWS: Mention it.
This commit is contained in:
Alexandre Duret-Lutz 2023-11-14 22:21:52 +01:00
parent bed87c60a4
commit 35fca49075
5 changed files with 84 additions and 19 deletions

10
NEWS
View file

@ -49,6 +49,10 @@ New in spot 2.11.6.dev (not yet released)
supports only one): it now reuse the edges leaving initial states
without incoming transitions.
- The automaton parser has a new option "drop_false_edges" to
specify where edges labeled by "false" should be ignored during
parsing. It is enabled by default for backward compatibility.
- spot::bdd_to_cnf_formula() is a new variant of spot::bdd_to_formula()
that converts a BDD into a CNF instead of a DNF.
@ -104,6 +108,12 @@ New in spot 2.11.6.dev (not yet released)
removal of superfluous APs that is now performed by ltlsynt
(search for --polarity and --global-equivalence above).
Python:
- The spot.automata() and spot.automaton() functions now accept a
drop_false_edges=False argument to disable the historical behavior
of ignoring edges labeled by False.
Bugs fixed:
- tgba_determinize()'s use_simulation option would cause it to