Commit graph

6148 commits

Author SHA1 Message Date
Florian Renkin
968ef0f7b8 ltlsynt: typo in help
* bin/ltlsynt.cc: here
2022-05-02 17:24:23 +02:00
Alexandre Duret-Lutz
2aecf9a79e fix typos and make formula_from_bdd more usable in Python
* python/spot/impl.i (formula_from_bdd): Instantiate for twa_graph.
* spot/twa/twa.hh (register_aps_from_dict): Typo in exception.
* tests/python/except.py: More tests for the above.
* tests/python/bdddict.py: Typo in comment.
2022-05-02 17:24:23 +02:00
734de00bfd tests: don't wipe python environment
* tests/run.in: keep original PYTHONPATH contents
* NEWS: mention the bug
2022-05-02 15:36:27 +02:00
Alexandre Duret-Lutz
d61d6e5e2f tests: avoid seq
Partial fix for #501.

* tests/core/prodchain.test: Hardcode the seq output.
* tests/core/bricks.test: Use $AWK instead of seq.
* tests/core/defs.in: Define $AWK.
* NEWS: Mention the bug.
2022-05-02 15:36:11 +02:00
Alexandre Duret-Lutz
7149e5a34d * .gitlab-ci.yml (alpine-gcc): Fix path for logs. 2022-05-02 15:35:51 +02:00
Alexandre Duret-Lutz
7d9fddadce work around an issue in Flex 2.6.4
The fallback definition of SIZE_MAX supplied by flex was not
preprocessor friendly and prevented robin_hood.hh from doing "#if
SIZE_MAX == UINT64_MAX", as observed by Marc Espie on OpenBSD.

* spot/parseaut/scanaut.ll, spot/parsetl/scantl.ll: Define
__STDC_VERSION__ just so that the code generated by Flex
include <inttypes.h>.
* NEWS: Mention the bug.
* THANKS: Add Marc.
2022-05-02 15:35:09 +02:00
Alexandre Duret-Lutz
64020279cb reduce_parity: fix to work on automata with deleted edges
* spot/twaalgos/parity.cc (reduce_parity): Use the
size of the edge vector to initialize piprime1 and piprime2,
not the number of edges.
* tests/python/parity.py: Add test case, based on a report
by Yann Thierry-Mieg.
2022-05-02 15:34:57 +02:00
Alexandre Duret-Lutz
b7825552f8 remove uses of unary_function and binary_function
These were deprecated in C++11, and are supposed to be removed from
C++17, however gcc-snapshot just started warning about those.

* spot/misc/bddlt.hh, spot/misc/hash.hh, spot/misc/ltstr.hh,
spot/twa/taatgba.hh, spot/twaalgos/ltl2tgba_fm.cc: Here.
2022-05-02 15:34:14 +02:00
Alexandre Duret-Lutz
664788bb16 * NEWS, configure.ac: Bump version to 2.10.4.dev. 2022-02-01 13:52:13 +01:00
Alexandre Duret-Lutz
bf77d0f0d3 Release Spot 2.10.4
* NEWS, configure.ac, doc/org/setup.org: Bump version to 2.10.4.
2022-02-01 13:50:56 +01:00
Alexandre Duret-Lutz
de295e4632 python: fix a memory leak in all added __iter__ methods
Reported by Yechuan Xia

* python/spot/impl.i: Add %newobject to all __iter__ methods.
* NEWS: Mention the list of affected methods.
* THANKS: Update.
2022-02-01 12:04:01 +01:00
Alexandre Duret-Lutz
c12842c16f * NEWS, configure.ac: Bump version to 2.10.3.dev. 2022-01-15 08:09:05 +01:00
Alexandre Duret-Lutz
dd33950836 Release Spot 2.10.3
* NEWS, configure.ac, doc/org/setup.org: Update version.
2022-01-15 08:09:01 +01:00
Alexandre Duret-Lutz
4692b89629 * NEWS: Prepare for next release. 2022-01-14 20:34:16 +01:00
Alexandre Duret-Lutz
34646bc0ab allow RPM build failure until we can fix it
The current building issue is a docker issue unrelated to Spot,
so it should not prevent us from doing a release.

* .gitlab-ci.yml (rpm-pkg): Allow failure.
2022-01-14 20:29:10 +01:00
Alexandre Duret-Lutz
346260c684 org: install from GNU
Fixes #496.

* doc/org/init.el.in: Install org-mode from GNU ELPA.
2022-01-14 20:29:10 +01:00
Alexandre Duret-Lutz
cdbf830010 * doc/org/tut40.org: Finish a sentence. 2022-01-14 20:29:10 +01:00
Alexandre Duret-Lutz
25d6bfd64d bib: more references
* doc/spot.bib (blahoudek.16.atva, degiacomo.13.ijcai): New entries.
* spot/tl/ltlf.hh, spot/twaalgos/complement.hh: Use them.
2022-01-14 20:29:10 +01:00
Alexandre Duret-Lutz
480289867f sccinfo: fix accepting run computation
* spot/twaalgos/sccinfo.cc (scc_info::get_accepting_run): Ignore edges
whose colors are not part of the colors gathered in the SCC up to
deciding acceptance.
* tests/python/genem.py: New test case, reported by Clément Tamines.
* THANKS: Add him.
* NEWS: Mention the bug.
2022-01-14 20:29:10 +01:00
Alexandre Duret-Lutz
da681e6b4d dot: improve output to work around GraphViz bug
The related GraphViz issue is
https://gitlab.com/graphviz/graphviz/-/issues/2179

* spot/twaalgos/dot.cc: Avoid initial newline in title.
* NEWS: Mention the bug.
* tests/core/det.test, tests/core/dstar.test,
tests/core/neverclaimread.test, tests/python/automata-io.ipynb: Adjust
test cases.
2022-01-14 20:29:10 +01:00
Alexandre Duret-Lutz
cfb782ce75 bump copyright year
* bin/common_setup.cc, debian/copyright: Here.
2022-01-14 20:29:10 +01:00
philipp
2298743479 Fixes #495
Monitors can now be split AND completed at the same time.
Split can be called on games without providing
"synthesis-outputs" - relying on named prop.

* spot/twaalgos/synthesis.cc,
spot/twaalgos/synthesis.hh: Here
2022-01-14 20:27:49 +01:00
Alexandre Duret-Lutz
852abc770f complement: fix a regression with 2.9.8
Reported by Reuben Rowe.

* spot/twaalgos/complement.cc (complement): Remove the hard-coded
simul=0 option on automata with >32 states.  In 2.10 simul=0 now
implies det-simul=0, causing the regression, and most importantly it
is not needed anymore, because we have other threashold like simul-max
and simul-trans-pruning in place.
* tests/core/complement.test: Add Reuben's automaton as test case.
* NEWS: Mention the fix.
2022-01-14 20:26:44 +01:00
Alexandre Duret-Lutz
80fd158ed5 sbacc: remove spurious initial state in some output
This fixes #492, based on a report from Jérôme Dubois.

* spot/twaalgos/sbacc.cc: If the initial state is in a rejecting
component, start with an initial state whose colors are unsat_mark.
* tests/core/sbacc.test: Add test case.
* tests/python/pdegen.py: Adjust it.
2022-01-14 20:26:44 +01:00
Alexandre Duret-Lutz
9d6ba3ff77 * tests/python/word.ipynb: Typo. 2022-01-14 20:26:44 +01:00
Alexandre Duret-Lutz
b860bb242e tl: fix first_match definition
* doc/tl/tl.tex: Here.
2022-01-14 20:26:44 +01:00
Alexandre Duret-Lutz
6dd7097148 org: update mailman urls
* doc/org/index.org, tests/python/bdditer.py: Here.
2022-01-14 20:26:44 +01:00
philipp
1bd1129494 Fixing state reorder bug for mealy minimization
Isomorph but different machines were created
depending on ARM vs Intel

* spot/twaalgos/mealy_machine.cc: Fix here
2022-01-14 20:25:47 +01:00
Alexandre Duret-Lutz
3612f3416d * NEWS, configure.ac: Bump version to 2.10.2.dev. 2022-01-14 20:21:30 +01:00
Alexandre Duret-Lutz
6eabc517ad Release Spot 2.10.2
* NEWS, configure.ac, doc/org/setup.org: Set version to 2.10.2.
2021-12-03 08:54:57 +01:00
Alexandre Duret-Lutz
4d2262600e formula: is_literal should be const
Reported by Ayrat Khalimov.

* spot/tl/formula.hh (is_literal): Mark as const.
2021-12-02 17:42:59 +01:00
Alexandre Duret-Lutz
8ffd06e9a6 catch overflow in SVA delays during parsing
* spot/parsetl/scantl.ll: Diagnose delays (##n) larger than
unbounded().  Remove all checks for delays with 1 or 2 characters.
* tests/core/parseerr.test: Add a test case.
* NEWS: Mention this fix.
2021-12-02 14:36:23 +01:00
Alexandre Duret-Lutz
6b46401d36 * doc/org/install.org: Stable Debian packages are for Bullseye. 2021-11-23 10:22:23 +01:00
Jérôme Dubois
81f146f648 build: fix multiple Clang13 warnings
* spot/kripke/kripkegraph.hh, spot/misc/hash.hh, spot/twa/taatgba.cc,
  spot/twa/twagraph.hh, tests/core/ngraph.cc: Replace subtraction of
  pointeur minus nullptr by an explicit cast to size_t.
* spot/twa/acc.hh: Add explicit default copy assignment operator for
  rs_pair.
2021-11-22 10:29:15 +01:00
Alexandre Duret-Lutz
2a408bbed1 sched_getcpu() and pthread_setaffinity_np() are non-portable
Reported by Yuri Victorovich, on FreeBSD.

* configure.ac: Test for them.
* spot/mc/mc_instanciator.hh: Only use them if they are present.
* NEWS: Mention the fix.
2021-11-22 10:24:52 +01:00
Alexandre Duret-Lutz
5f49209caf twagraph: remove bddfalse edges in purge_dead_states
* spot/twa/twagraph.cc (purge_dead_states): Be bddfalse-aware!
* spot/twa/twagraph.hh, NEWS: Document this.
* tests/python/alternating.py, tests/python/twagraph.py: Add some
test cases.
2021-11-19 22:13:20 +01:00
Alexandre Duret-Lutz
59690dd041 * NEWS, configure.ac: Bump version to 2.10.1.dev. 2021-11-19 09:48:07 +01:00
Alexandre Duret-Lutz
1782af3924 Release Spot 2.10.1
* NEWS, configure.ac, doc/org/setup.org: Update for release.
2021-11-19 09:46:12 +01:00
Alexandre Duret-Lutz
58b349d3ca sbacc: define original-states
* spot/twaalgos/sbacc.cc (sbacc): Define the original-states
property on the created automaton.
* spot/twaalgos/sbacc.hh: Improve documentation.
* tests/python/sbacc.py: Update test cases.
2021-11-18 22:03:47 +01:00
Alexandre Duret-Lutz
afdd38277d formula: catch min/max overflows at construction
For issue #485.

* spot/tl/formula.cc, spot/tl/formula.hh: Catch min/max overflow
when the operators are constructed.  Also disable travial
simplification rules that would create such overflow.
For instance x[*200][*2] will not become x[*400] anymore.
* python/spot/impl.i: Catch std::overflow_error.
* tests/core/equals.test, tests/python/except.py: Add test cases.
2021-11-18 22:03:23 +01:00
Alexandre Duret-Lutz
59b361babd fix some unused variable warning in mingw
* spot/twaalgos/mealy_machine.cc (is_split_mealy_specialization): Hide
spl in NDEBUG.
* spot/twaalgos/synthesis.cc (apply_strategy): sp is not always used.
2021-11-18 13:24:53 +01:00
Alexandre Duret-Lutz
81375d7a93 tl: diagnose repetitions that do not fit in uint_8
For issue #485.

* spot/parsetl/parsetl.yy: Add a diagnostic.
* tests/core/parseerr.test: Test it.
2021-11-18 13:24:53 +01:00
Alexandre Duret-Lutz
f82d26b625 fix configure --help
Fixes #488.

* configure.ac: Fix --enable-doxygen's help text, and add
one for --enable-warnings.
2021-11-18 13:24:53 +01:00
Alexandre Duret-Lutz
6013023794 tests: add missing dependency on libbddx in ltsmin tests
* tests/Makefile.am (ltsmin_modelcheck_LDADD,
ltsmin_testconvert_LDADD): Add libbddx as a dependecy.
2021-11-16 23:28:16 +01:00
Alexandre Duret-Lutz
ce18a7896b Work around issue with inttypes.h macros
* python/Makefile.am: Define __STDC_FORMAT_MACROS.
2021-11-16 23:28:16 +01:00
Florian Renkin
51636bc9e3 ltlsynt.cc: Correct help
* bin/ltlsynt.cc: Change "sd" to "lar" as default algorithm in the doc.
2021-11-16 10:02:47 +01:00
Alexandre Duret-Lutz
5dfa039a48 * doc/org/compile.org: Fix instructions to uses -std=c++17. 2021-11-16 09:56:37 +01:00
Alexandre Duret-Lutz
a5f080338c Python 3.5 is now needed
* NEWS, README, HACKING, doc/org/install.org, m4/pypath.m4: Adjust.
2021-11-16 09:51:59 +01:00
Alexandre Duret-Lutz
bc063b13f3 * spot/bricks/brick-hash: Add missing include. 2021-11-16 09:47:42 +01:00
Alexandre Duret-Lutz
186d206302 ltsmin-pml: work around newer jupyter versions
Newer Jupyter version are able to capture the system's stdout and
stderr to display it in the notebook.  This is done asynchronously,
with a thread polling those file descriptor.  While this will help us
debug (finaly we can see the tracing code we put in C++) this causes
two issues for testing.  One is the asynchronous behaviour, which
makes it very hard to reproduce notebooks.  The second issue is that
older version of Jupyter used to hide some of the prints from the
notebook, so it is hard to accommodate both.

In the case of the ltsmin-pml notebook, loading the PML file from
a filename used to trigger a compilation silently (with output on the
console, but not in the notebook).  The newer version had the output
of that compilation spread into two cells.

* python/spot/ltsmin.i: Work around the issue by triggering the
compilation from Python, and capturing its output explicitly, so it
work with all Jupyter versions.  Also adjust to use the more recent
and simpler subprocess.run() interface, available since Python 3.5.
* tests/python/ltsmin-pml.ipynb: Adjust expected output.
* tests/python/ipnbdoctest.py (canonicalize): Adjust patterns.
2021-11-15 23:37:08 +01:00