Commit graph

3647 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
5d272fd256 use more override and final keywords
This patch is mostly focused on tagging most virtual methods that
override as such.  I found a few methods that where not meant to be
virtual this way, and tagged a few classes "final" along the way.

* bin/common_output.cc, spot/kripke/fairkripke.hh,
spot/kripke/kripke.hh, spot/kripke/kripkegraph.hh,
spot/ltsmin/ltsmin.cc, spot/misc/formater.hh, spot/priv/bddalloc.hh,
spot/ta/ta.hh, spot/ta/taexplicit.hh, spot/ta/taproduct.hh,
spot/ta/tgta.hh, spot/ta/tgtaexplicit.cc, spot/ta/tgtaexplicit.hh,
spot/ta/tgtaproduct.hh, spot/taalgos/emptinessta.hh, spot/tl/declenv.hh,
spot/tl/defaultenv.hh, spot/tl/randomltl.hh, spot/tl/relabel.cc,
spot/twa/bdddict.cc, spot/twa/taatgba.hh, spot/twa/twagraph.hh,
spot/twa/twaproduct.hh, spot/twaalgos/gtec/ce.cc,
spot/twaalgos/gtec/ce.hh, spot/twaalgos/gtec/gtec.hh,
spot/twaalgos/gv04.cc, spot/twaalgos/ltl2taa.cc, spot/twaalgos/magic.cc,
spot/twaalgos/minimize.cc, spot/twaalgos/ndfs_result.hxx,
spot/twaalgos/reachiter.hh, spot/twaalgos/se05.cc,
spot/twaalgos/stutter.cc, spot/twaalgos/tau03.cc: Add more override and
final keywords.
2016-02-16 11:59:00 +01:00
Alexandre Duret-Lutz
1ae0600cae ltlcross: add option --determinize
* bin/ltlcross.cc: Implement it.
* doc/org/ltlcross.org, NEWS: Document it.
* tests/core/ltlcross.test, tests/core/ltlcrossce.test: Test it.
2016-02-15 19:16:45 +01:00
Alexandre Duret-Lutz
26d7264717 org: fix two links
Fixes #150.

* doc/org/tut.org: Fix links to notebooks.
* tests/sanity/ipynb.pl: Catch this type of errors in the future.
2016-02-15 17:17:10 +01:00
Alexandre Duret-Lutz
199e5fd2e0 autfilt: implement an --ap=RANGE option
Fixes #130.

* bin/autfilt.cc: Implement the option.
* NEWS: Mention it.
* tests/core/readsave.test: Add a short test.
2016-02-15 17:17:10 +01:00
Alexandre Duret-Lutz
beb435ebd8 * tests/core/.gitignore: Ignore safra. 2016-02-15 17:17:10 +01:00
Alexandre Duret-Lutz
52bf1da3c2 ltlfilt: support --ap=RANGE instead of --ap=N
Fixes #131.

* bin/ltlfilt.cc: Implement the option.
* tests/core/ltlfilt.test: Test it.
* NEWS: Mention it.
2016-02-15 17:17:10 +01:00
Alexandre Duret-Lutz
1b12df46fe ltlfilt: replace --[b]size-max/min by --[b]size
* bin/ltlfilt.cc: Implement the new option, and hide the old
ones.
* doc/org/ltlfilt.org, NEWS: Document these options.
* tests/core/ltl2dstar2.test, tests/core/randpsl.test: Adjust tests
to the new syntax.
2016-02-15 16:10:07 +01:00
Alexandre Duret-Lutz
a3e0c8624e remove twa::compute_support_conditions
Fixes #148.

* spot/twa/twa.hh, spot/twa/twa.cc, spot/kripke/fairkripke.hh,
spot/kripke/fairkripke.cc, spot/ta/tgtaexplicit.hh,
spot/ta/tgtaexplicit.cc, spot/twa/twagraph.hh, spot/twa/twaproduct.hh,
spot/twa/twaproduct.cc, spot/twaalgos/stutter.cc, spot/twa/taatgba.hh,
spot/twa/taatgba.cc: Remove the method.
* spot/taalgos/tgba2ta.cc: Emulate it with a simple loop.
* NEWS: Mention the removal.
2016-02-15 11:04:48 +01:00
Alexandre Duret-Lutz
39b95474f8 remove twa::transition_annotation
Fixes #149.

* spot/twa/twa.hh, spot/twa/twa.cc, spot/kripke/fairkripke.hh,
spot/kripke/kripke.hh, spot/twa/twaproduct.cc, spot/twa/twaproduct.hh:
Remove this method.
* spot/twaalgos/emptiness.cc, spot/twaalgos/emptiness.hh,
tests/ltsmin/finite.test: Adjust.
* NEWS: Mention the removal.
2016-02-15 11:04:48 +01:00
Alexandre Duret-Lutz
e1f5eb1fd6 doc: improve the twa class documentation
* spot/twa/twa.hh: More documentation.
* doc/Doxyfile.in: Allow same doc for groups of methods.
2016-02-15 11:04:48 +01:00
Alexandre Duret-Lutz
ea348d8e80 * spot/twa/twa.hh: Fix doxygen comments. 2016-02-15 11:04:48 +01:00
Etienne Renault
ee2d3aac71 Force cast to please clang on OSX
Fixes #147.

*  tests/core/trival.cc: Here.
2016-02-15 10:42:11 +01:00
Etienne Renault
091251b5b7 Provide support for %dve and %require
* NEWS, python/spot/ltsmin.i,
tests/python/ltsmin.ipynb: Here.
2016-02-15 09:08:37 +01:00
Alexandre Duret-Lutz
369c2c537d org: mention the determinization on the main page
Fixes #145.

* doc/org/index.org: Here.
2016-02-13 15:54:27 +01:00
Alexandre Duret-Lutz
f7b5dcf47d autfilt: add support for --are-equivalent
Fixes #17.

* bin/autfilt.cc: Implement it.
* tests/core/included.test: Test it.
* NEWS: Mention it.
2016-02-12 19:53:52 +01:00
Alexandre Duret-Lutz
b59ebdc40c * NEWS: typo 2016-02-12 19:50:37 +01:00
Alexandre Duret-Lutz
021921f0c3 autfilt: add --included-in filter
* bin/autfilt.cc: Implement the option.
* tests/core/included.test: New file.
* tests/Makefile.am: Add it.
* NEWS: Mention the new option.
2016-02-12 17:46:38 +01:00
Alexandre Duret-Lutz
9799a6455e autfilt: complement of non-deterministic automata as well
* bin/autfilt.cc: Determinize automata before complementation
if needed.
* tests/core/complement.test: Adjust.
* NEWS: Mention the new feature.
2016-02-12 17:00:20 +01:00
Alexandre Duret-Lutz
6a662a6d8e get read of twa_safra_complement
* spot/twa/twasafracomplement.cc, spot/twa/twasafracomplement.hh,
tests/core/complementation.cc: Delete.
* tests/Makefile.am, spot/twa/Makefile.am: Adjust.
* tests/core/complementation.test: Rewrite using the new determinization
code.
* python/spot/impl.i: Do not mention twa_safra_complement anymore.
* NEWS: Mention the removal.
2016-02-12 15:09:37 +01:00
Alexandre Duret-Lutz
df0f99410c * NEWS: Summarize recent changes. 2016-02-12 14:27:48 +01:00
Alexandre Duret-Lutz
b066c6f3f2 postproc: add fine-tuning options for determinization
* spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh:
Add options det-scc, det-simul, det-stutter.
* bin/spot-x.cc: Document them.
* doc/org/ltl2tgba.org: Illustrate one of them and link
to the spot-x man page.
2016-02-12 14:07:58 +01:00
Alexandre Duret-Lutz
8feab7e2bb postproc: more documentation
* spot/twaalgos/postproc.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
1e52d2a7a8 doc: more doc about determinization
* doc/org/autfilt.org: Here.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
0288aaa304 determinize: add tests for the bug Alexandre L fixed
* tests/core/safra.test: More tests.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
0d9019ea39 python: fix translate's doc string
* python/spot/__init__.py (translate): Mention 'generic' in doc string.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
8a5f652384 determinize: Correct scc optimisation
* spot/twaalgos/determinize.cc:  Don't reuse previous SCC's.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
8568c3b423 postproc: integrate tgba_determinize()
* spot/twa/acc.hh: Add a smaller version of is_parity().
* spot/twaalgos/postproc.cc: Call tgba_determinize() if asked for
Generic acceptance and Deterministic output.
* bin/common_post.cc: Add 'G' as a shorthand for --generic.
* doc/org/ltl2tgba.org: Illustrate =ltl2tgba -G -D=.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
03d9a7512a determinize: do not work on deterministic automata
* spot/twaalgos/determinize.cc: Here.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
c18ee329fb determinize: rename the main function
* spot/twaalgos/determinize.cc, spot/twaalgos/determinize.hh,
tests/core/safra.cc (tgba_determinisation): Rename as...
(twa_determinisation): ... this.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
4635ce44a9 determinize: add some doc
* spot/twaalgos/determinize.hh: Add documentaion and rename options.
* spot/twaalgos/determinize.cc: Rename options as well.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
2853c4ca04 * tests/core/safra.cc (help): Simplify. 2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
8e26852a1b determinize: remove superfluous options
bisimulation and complete just trigger extra algorithms to be called at
the end of this one, so they need not be part of this algorithm.

* spot/twaalgos/determinize.cc, spot/twaalgos/determinize.hh: Reduce
the number of options.
* tests/core/safra.cc: Implement those options here.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
e0c2452534 determinize: hide private data structures
* spot/twaalgos/determinize.hh: Move class definitions...
* spot/twaalgos/determinize.cc: ... here.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
f9252aa703 safra: rename as determinize
* spot/twaalgos/safra.cc, spot/twaalgos/safra.hh: Rename as...
* spot/twaalgos/determinize.cc, spot/twaalgos/determinize.hh: ... these.
* spot/twaalgos/Makefile.am, tests/core/safra.cc: Adjust.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
cd71286fb5 safra: Add stutter-invarience optimisation
* spot/twaalgos/safra.cc, spot/twaalgos/safra.hh: Here.
* tests/core/safra.cc: Add option.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
1d68decaca safra: Add compute_succ function
* spot/twaalgos/safra.cc, spot/twaalgos/safra.hh:  Enables use to
compute successor safra state for any edge.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
be0e6bffcf safra: Build safra-state after each AP
* spot/twaalgos/safra.cc: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
dbd7740874 safra: Iterate on APs to compute successors
* spot/twaalgos/safra.cc, spot/twaalgos/safra.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
8068cfad93 safra: Add complete option and rename files
* src/tests/safra.cc, src/twaalgos/safra.cc,
src/twaalgos/safra.hh, src/tests/safra.test: Rename as...
* spot/twaalgos/safra.cc, spot/twaalgos/safra.hh, tests/core/safra.cc
tests/core/safra.test: ... these.
* tests/Makefile.am: Update.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
f88154e507 safra: Add bisimulation optimisation
* src/tests/safra.cc, src/twaalgos/safra.cc,
src/twaalgos/safra.hh, spot/twaalgos/simulation.cc,
spot/twaalgos/simulation.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
d15b5f43a6 safra: Fix properties and use new API
* src/tests/safra.cc, src/twaalgos/safra.cc: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
bb93f6e9af safra: Nodes are grouped by SCC
* src/tests/safra.cc, src/tests/safra.test: Update it.
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: all nodes in a safra
state are grouped by SCC. This is done by putting them in different
braces.  The same SCC can have different ids depending on the safra
state.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
b59b31f806 safra: Give more explicit names to types
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
18396e5973 safra: SSC based construction
* src/tests/safra.test: Update it.
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: Acceptance is now MIN
ODD.  We only track runs within an SCC and only consider accepting SCC.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
0cf83d7cbc safra: Update pretty printer function
* src/twaalgos/safra.cc: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
3bd95c32e7 safra: Remove paths when leaving an SCC
* src/tests/safra.cc:  Add option.
* src/twaalgos/safra.cc, src/twaalgos/safra.hh:  When a node leaves an
SCC, all the subpaths of that node are removed.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
e8c428d0a3 safra: Edges to accepting SCC are accepting
*  src/twaalgos/safra.cc, src/twaalgos/safra.hh: Implement optimisation.
Update function calls with new API.
* src/tests/safra.cc, src/tests/safra.test: Use new API.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
f29de22b8a safra: Add bisimulation option
* src/tests/safra.cc, src/twaalgos/safra.cc,
src/twaalgos/safra.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
64b27a9a26 safra: Add pretty printer for states
* src/tests/safra.cc, src/tests/safra.test: Add options and test.
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
64cdd1adc7 safra: Fix the nesting comparision function
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: Here.
2016-02-12 14:07:28 +01:00