autcross: simplify code using complement() and intersecting_word()

* bin/autcross.cc: Let complement() decide how to complement automata.
Do not apply remove_fin(), because we have a generic emptiness check
now.  Use intersecting_word() instead of product()+accepting_word() so
that the former can maybe be optimized in the future.
* tests/core/autcross2.test: Adjust test case to use TGBA instead
of monitors, as calling complement() had a side-effect of setting
the "weak" property on the input.
This commit is contained in:
Alexandre Duret-Lutz 2019-06-07 14:56:56 +02:00
parent cba012328e
commit f0b77e21c8
2 changed files with 10 additions and 64 deletions

View file

@ -1,6 +1,6 @@
#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2017, 2018 Laboratoire de Recherche et Développement de
# Copyright (C) 2017, 2018, 2019 Laboratoire de Recherche et Développement de
# l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
@ -22,7 +22,7 @@
set -e
# Exercise %L while we are at it.
randaut -n10 2 | tee input |
randaut -n10 -A2..3 2 | tee input |
autcross --language-preserve 'autfilt %L>%O' 'autfilt --complement' \
--save-bogus=bogus.hoa 2>stderr && exit 1
cat stderr