- 19 Jun, 2012 28 commits
-
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* wrap/python/ajax/ltl2tgba.html: Adjust text.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* wrap/python/ajax/ltl2tgba.html: Update tooltips for LTL3BA.
-
Alexandre Duret-Lutz authored
* wrap/python/ajax/ltl2tgba.html: Here.
-
Alexandre Duret-Lutz authored
* wrap/python/ajax/css/loading.gif: New file. * wrap/python/ajax/css/ltl2tgba.css (.loading): New class. * wrap/python/ajax/ltl2tgba.html: Display loading.gif after 200ms if the answer hasn't arrived * wrap/python/ajax/spot.in: Do not suggest not to draw the automaton on timeout. * wrap/python/ajax/js/jquery.ba-dotimeout.min.js: New file. * wrap/python/ajax/Makefile.am: Distribute it.
-
Alexandre Duret-Lutz authored
* wrap/python/ajax/ltl2tgba.html, wrap/python/ajax/protocol.txt: Add options 'o' and 'p'. * wrap/python/ajax/spot.in: Handle these, and use '-v' to check version.
-
Alexandre Duret-Lutz authored
* wrap/python/ajax/ltl2tgba.html: Display the ltl3ba version, and disable its tab when unavailable. * wrap/python/ajax/protocol.txt: Add option for ltl3ba's version. * wrap/python/ajax/spot.in: Implement this option, and catch errors when ltl3ba is not installed.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/sccfilter.cc: tgba_explicit_numbered replace tgba_explicit_string for the general case. This way we don't have to prefix the result of format_state() in case to states have the same description. We just number the states instead. For the specific cases where the input automata are instance of tgba_explicit_string or tgba_explicit_formula, we clone the label.
-
Alexandre Duret-Lutz authored
* wrap/python/ajax/ltl2tgba.html: Add a dedicated tab with two columns of options. * wrap/python/ajax/css/ltl2tgba.css: Support for two columns. * wrap/python/ajax/protocol.txt: Document new options. * wrap/python/ajax/spot.in: Handle the new options. * wrap/python/ajax/Makefile.am: Substitude LTL3BA in spot.in.
-
Alexandre Duret-Lutz authored
* src/tgba/tgbaexplicit.hh (state_is_accepting): Implement without creating then deleting an iterator.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/degen.cc, src/tgbaalgos/degen.hh: New files, with most of the logic extracted from src/tgba/tgbatba.cc (SBA version). * src/tgbaalgos/Makefile.am: Distribute these. * src/tgbatest/ltl2tgba.cc: Use the new degeneralization instead of the on-the-fly version.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.cc, src/tgba/tgbaproduct.cc, src/tgba/tgbatba.cc, src/tgbaalgos/sccfilter.cc, src/tgbaalgos/simulation.cc: Here.
-
Alexandre Duret-Lutz authored
* wrap/python/buddy.i (bdd_implies): New function. * wrap/python/tests/implies.py: New file. * wrap/python/tests/Makefile.am: Add it.
-
Alexandre Duret-Lutz authored
* src/bdd.h (bdd_implies): New function. * src/bddop.c (bdd_implies): Implement it. (CACHEID_IMPLIES, IMPLIES_HASH): New helper macros.
-
Alexandre Duret-Lutz authored
The unicity table was mixed with the bddNode table for now apparent reason. After the hash of some node is computed, bddnodes[hash] did only contain some random node (not the one looked for) whose .hash member would point to the actual node with this hash. So that's a two step lookup. With this patch, we sill have a two step lookup, but the .hash member have been moved to a separate array. A consequence is that bddNode is now 16-byte long (instead of 20) so it will never span across two cache lines. * src/kernel.h (bddNode): Remove the hash member, and move it... (bddhash): ... as this new separate table. * src/kernel.c, src/reorder.c: Adjust all code.
-
Alexandre Duret-Lutz authored
* wrap/python/tests/Makefile.am (TEST_ENVIRONMENT): Rename as... (LOG_COMPILER): ... this.
-
Alexandre Duret-Lutz authored
* src/Config-parse.yy, src/Ltl-parse.yy, src/NeverClaim-parse.yy: Rename these as.. * src/Config-parse.y, src/Ltl-parse.y, src/NeverClaim-parse.y: ... these. * src/Config-parse_.cc, src/Ltl-parse_.cc, src/NeverClaim-parse_.cc: New files to hack around incompatibilities between Automake 1.12 and Automake 1.11. * src/Makefile.am: Adjust. * NEWS: Mention this change.
-
Alexandre Duret-Lutz authored
* examples/bddcalc/parser.yxx: Rename as ... * examples/bddcalc/parser.y: ... this. * examples/bddcalc/parser_.cxx: New file that includes parser.c. * examples/bddcalc/Makefile.am: Adjust. * examples/bddcalc/parser.hxx: Delete this unused file.
-
Alexandre Duret-Lutz authored
* src/eltlparse/Makefile.am, src/ltlvisit/randomltl.cc, src/ltlvisit/simplify.cc, src/ltlvisit/snf.cc, src/ltlvisit/snf.hh: Fix GPL to version 2 or later.
-
- 18 Jun, 2012 1 commit
-
-
Alexandre Duret-Lutz authored
This helps reducing (p&XF!p)|(!p&XFp)|X(Fp&F!p) to (p&XF!p)|(!p&XFp). * src/tgbaalgos/ltl2tgba_fm.cc: Adjust rewriting rules of X. * src/tgbatest/ltl2tgba.test: Add a test case.
-
- 07 Jun, 2012 1 commit
-
-
Alexandre Duret-Lutz authored
* src/tgba/wdbacomp.cc (tgba_wdba_comp_proxy::compute_support_conditions): Fix. * src/tgbatest/wdba2.test: Test a formula that used to be wrongly minimized if translated by LaCIM, because the product of a tgbabddconcrete automaton with another automaton (done during WDBA-minimization) use the support conditions to speed things up.
-
- 06 Jun, 2012 3 commits
-
-
Alexandre Duret-Lutz authored
-
Thomas Badie authored
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/minimize.cc (minimize_obligation): Delete the powerset automaton when we return 0 because we know if the result is correct and don't have the formulae to check it. Reported by Étienne Renault.
-
- 05 Jun, 2012 1 commit
-
-
Alexandre Duret-Lutz authored
-
- 04 Jun, 2012 4 commits
-
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
The previous implementation was fine to catch timeout of third-party tools (like dot), but to good to catch timeout in Spot itself, because Python will not deliver a SIGALRM while a native function (e.g. Spot's translation) is running. So we fork() the Python process, with a parent that does nothing but wait for the termination of the child or for an alarm. On SIGALRM, the parent kills all children. * wrap/python/ajax/spot.in: Adjust to fork. * wrap/python/tests/alarm.py: New test file to test this scenario in a more controled environment. * wrap/python/tests/Makefile.am: Add it.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
- 23 May, 2012 2 commits
-
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* configure.ac, NEWS: Bump version number.
-