autfilt: add new option --accept-word

Suggested by Matthias Heizmann. Fixes #109.

* NEWS: notify the new option
* THANKS: add Matthias Heizmann
* bin/autfilt.cc: add new option --accept-word=WORD which filters
automata that accept WORD
* doc/org/autfilt.org: add an example of the new option
* tests/Makefile.am: add core/acc_word.test to the list of test files
* tests/core/acc_word.test: test some uses of the new option
This commit is contained in:
Amaury Fauchille 2016-02-05 17:26:31 +01:00 committed by Alexandre Duret-Lutz
parent 1fd76ee918
commit 1c82444376
6 changed files with 82 additions and 20 deletions

View file

@ -277,7 +277,8 @@ TESTS_twa = \
core/ltlcross2.test \
core/complementation.test \
core/randpsl.test \
core/cycles.test
core/cycles.test \
core/acc_word.test
############################## PYTHON ##############################

27
tests/core/acc_word.test Normal file
View file

@ -0,0 +1,27 @@
#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2016 Laboratoire de Recherche et Développement
# de l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
#
# Spot is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Spot is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
# License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# The --accept-word option filters automata that accept the given word
# If several words are given, it filters automata that accept ALL words
ltl2tgba 'G!a' | autfilt --accept-word 'b; cycle{!a}'
ltl2tgba 'a U b' | autfilt --accept-word 'a; a; cycle{b}'
ltl2tgba 'F(!a&b)' |
autfilt --accept-word 'b; cycle{b; !a&b}' --accept-word 'cycle{b}'