- 29 Dec, 2016 4 commits
-
-
Alexandre Duret-Lutz authored
This is faster than using the abstract interface, and it also supports alternating automata. (This will be tested in the tests for ltlcross's support for alternating automata.) * spot/twaalgos/stats.cc (stats_reachable, sub_stats_reachable): Add code specific to twa_graph_ptr.
-
Alexandre Duret-Lutz authored
* spot/twaalgos/remfin.cc (remove_fin_weak): Ignore unreachable states. This caused crashes in the test cases for the upcoming alternation support in ltlcross.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
This mixes the subset construction (for 1-state rejecting SCCs) and the breakpoint construction (for larger rejecting SCCs). The algorithm should probably be rewritten in a cleaner and more efficient way, but that should do for a first version. It should be easy to extend it to support Büchi acceptance (since the breakpoint construction works for this) when we need it. * spot/twaalgos/alternation.hh, spot/twaalgos/alternation.cc (remove_alternation): New function. * tests/python/alternation.ipynb: New file. * tests/Makefile.am, doc/org/tut.org: Add it.
-
- 27 Dec, 2016 10 commits
-
-
Alexandre Duret-Lutz authored
* spot/twa/twa.hh: Implement the property. * spot/parseaut/parseaut.yy, spot/twaalgos/hoa.cc: Add input and output for it. * spot/twaalgos/strength.cc, spot/twaalgos/strength.hh (is_very_weak_automaton): New function. * tests/core/alternating.test: Add a test for --check=strength on an alternating automaton. * tests/core/strength.test, tests/core/parseaut.test: Adjust expected output. * NEWS, doc/org/hoa.org, doc/org/concepts.org: Document it.
-
Alexandre Duret-Lutz authored
* spot/twaalgos/sccinfo.cc: Consider universal edges as if they were existential edges. * spot/twaalgos/sccinfo.hh: Document that. * spot/twaalgos/dot.cc: Allow option 's' again, for easy testing. * tests/core/alternating.test: Adjust tests. * tests/python/_altscc.ipynb: New file (more tests). * tests/Makefile.am: Add it.
-
Alexandre Duret-Lutz authored
* spot/parseaut/parseaut.yy (fix_initial_state): Use spot::internal::outgoing_edge_group to reduce all initial states to a single one. * tests/core/parseaut.test: Add more tests.
-
Alexandre Duret-Lutz authored
This should will come handy to implement the convertion from LTL to alternating automata, and to handle automata with multiple initial states. * spot/twaalgos/alternation.hh, spot/twaalgos/alternation.cc: New files. * spot/twaalgos/Makefile.am: Add them. * python/spot/impl.i: Add bindings. * tests/python/alternating.py: Test states_and.
-
Alexandre Duret-Lutz authored
The only missing point is that the HOA parser cannot deal with multiple universal initial states, as seen in parseaut.test. * spot/graph/graph.hh (new_univ_dests): New function, extracted from... (new_univ_edge): ... this one. * spot/twa/twagraph.hh (set_univ_init_state): Implement using new_univ_dests. * spot/twaalgos/dot.cc, spot/twaalgos/hoa.cc, python/spot/impl.i: Add support for universal initial states. * spot/parseaut/parseaut.yy: Add preliminary support for universal initial states. Multiple universal initial states are still not supported. * tests/core/alternating.test, tests/core/parseaut.test, tests/python/alternating.py: Adjust tests and exercise this new feature.
-
Alexandre Duret-Lutz authored
* spot/twaalgos/dot.cc: Handle universal destinations. Ignore option 's' for alternating automata. * tests/core/alternating.test: New file. * tests/Makefile.am: Add it.
-
Alexandre Duret-Lutz authored
Currently this only reads universal branches. The parser (and the automaton code) do not support universal initial states. * spot/parseaut/parseaut.yy: Read universal branches. Deal with the no-univ-branch/!univ-branch change in HOA 1.1. * tests/python/alternating.py: Read the output of print_hoa. * tests/core/parseaut.test: Adjust test output, and add more tests.
-
Alexandre Duret-Lutz authored
* spot/twaalgos/hoa.cc: Implement it. * tests/python/alternating.py: Test it.
-
Alexandre Duret-Lutz authored
This only allows creating universal edges, and reading the associated destinations. * spot/twa/twagraph.hh (new_univ_edges, univ_dests, is_alternating): New function. * python/spot/impl.i: Add Python bindings. * tests/python/alternating.py: New file. * tests/Makefile.am: Add it.
-
Alexandre Duret-Lutz authored
* spot/graph/graph.hh: Use the sign bit of destination state X to designate a universal edge. Store the destinations of such an edge in a separate array, at index ~X. * spot/graph/ngraph.hh, tests/core/graph.cc, tests/core/graph.test, tests/core/ngraph.cc: Adjust test case to the new interface.
-
- 25 Dec, 2016 1 commit
-
-
Alexandre Duret-Lutz authored
* doc/org/tut22.org: Here.
-
- 24 Dec, 2016 3 commits
-
-
Alexandre Duret-Lutz authored
* doc/org/ltlcross.org: Also fix the documentation of terminal and weak SCCs.
-
Alexandre Duret-Lutz authored
* doc/org/.dir-locals.el.in, doc/org/init.el.in: Load "shell" instead of "sh" for recent org-mode version.
-
Alexandre Duret-Lutz authored
* spot/twaalgos/copy.hh: Make a reference to make_twa_graph().
-
- 16 Dec, 2016 5 commits
-
-
Alexandre Duret-Lutz authored
* spot/twaalgos/strength.hh: Add a verb to the descriptions. Suggested by Alexandre Gbaguidi Aïsse.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* NEWS, configure.ac: Set version 2.2.2.dev.
-
Alexandre Duret-Lutz authored
* NEWS, configure.ac, doc/org/setup.org: Update version.
-
- 15 Dec, 2016 3 commits
-
-
Alexandre Duret-Lutz authored
* python/spot/__init__.py (automata): Do not create a session for every command, this is only needed if automata() is run with a timeout parameter. * python/ajax/spotcgi.in: Adjust exclude the main process from the process group, so that only children are killed on SIGALRM. * NEWS: Mention the bug.
-
Alexandre Duret-Lutz authored
* python/spot/__init__.py (automata): Do not create a session for every command, this is only needed if automata() is run with a timeout parameter. * python/ajax/spotcgi.in: Adjust exclude the main process from the process group, so that only children are killed on SIGALRM. * NEWS: Mention the bug.
-
Alexandre Duret-Lutz authored
-
- 14 Dec, 2016 1 commit
-
-
Maximilien Colange authored
* configure.ac: add an option --enable-c++14. * NEWS: mention the new option.
-
- 13 Dec, 2016 3 commits
-
-
Maximilien Colange authored
* configure.ac: add an option --enable-c++14.
-
Maximilien Colange authored
* spot/twa/twa.cc: is_empty() and accepting_run() now call the new version of the Couvreur algorithm.
-
Maximilien Colange authored
This version has optimization for explicit twa, and also for weak and terminal (depending on whether an accepting run is requested) automata. * spot/twaalgos/couvreurnew.hh, spot/twaalgos/couvreurnew.cc, spot/twaalgos/Makefile.am: New files for the new algorithm. * spot/twaalgos/emptiness.cc, tests/core/randtgba.cc: Register new algorithm.
-
- 10 Dec, 2016 2 commits
-
-
Alexandre Duret-Lutz authored
* spot/ltsmin/ltsmin.cc: Add an assert.
-
Alexandre Duret-Lutz authored
Reported by Shufang Zhu. * spot/tl/ltlf.cc, spot/tl/ltlf.hh: Fix the transltion and update the comments. * tests/core/ltlfilt.test: Adjust test cases. * NEWS: Mention the fix. * THANKS: Add Shufang Zhu.
-
- 09 Dec, 2016 1 commit
-
-
Alexandre Duret-Lutz authored
Reported by Shufang Zhu. * spot/tl/ltlf.cc, spot/tl/ltlf.hh: Fix the transltion and update the comments. * tests/core/ltlfilt.test: Adjust test cases. * NEWS: Mention the fix. * THANKS: Add Shufang Zhu.
-
- 02 Dec, 2016 2 commits
-
-
Alexandre Duret-Lutz authored
Compilation of each header file alone, as a safety check, was removed when introducing "#pragma once" because we did not have to check for possible double inclusion. However we still need to compile each header to make sure they are self-contained. * tests/sanity/includes.test: Compile each header. * tests/run.in: Export various compiler and directory flags. * spot/twaalgos/emptiness_stats.hh, spot/misc/mspool.hh, spot/misc/fixpool.hh: Include <spot/misc/common.hh>. * spot/misc/common.hh: Include <cassert>. * NEWS: Mention the fixed headers.
-
Alexandre Duret-Lutz authored
Compilation of each header file alone, as a safety check, was removed when introducing "#pragma once" because we did not have to check for possible double inclusion. However we still need to compile each header to make sure they are self-contained. * tests/sanity/includes.test: Compile each header. * tests/run.in: Export various compiler and directory flags. * spot/twaalgos/emptiness_stats.hh, spot/misc/mspool.hh, spot/misc/fixpool.hh: Include <spot/misc/common.hh>. * spot/misc/common.hh: Include <cassert>. * NEWS: Mention the fixed headers.
-
- 01 Dec, 2016 5 commits
-
-
Alexandre Duret-Lutz authored
* spot/parseaut/parseaut.yy: Add a diagnostic. * tests/core/parseaut.test: Test it. * NEWS: Document it.
-
Alexandre Duret-Lutz authored
This should solve issue with the Debian package. * spot/ltsmin/Makefile.am: Use the LTDLINC, LTDLDEPS and LIBLTDL as documented. * NEWS: Mention the fix.
-
Alexandre Duret-Lutz authored
* spot/parseaut/parseaut.yy: Add a diagnostic. * tests/core/parseaut.test: Test it. * NEWS: Document it.
-
Alexandre Duret-Lutz authored
* tests/run.in: Here.
-
Maximilien Colange authored
* tests/sanity/style.test: Allow parenthesis after 'operator delete'.
-