1. 09 Dec, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      ltlf: ensure alive holds initially · 413eab1d
      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.
      413eab1d
  2. 05 Nov, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      from_ltlf: new LTL transformation. · 2e69e045
      Alexandre Duret-Lutz authored
      Fixes #187.
      
      * spot/tl/ltlf.cc, spot/tl/ltlf.hh: New files.
      * spot/tl/Makefile.am: Add them.
      * bin/ltlfilt.cc: Add a new option.
      * bin/man/ltlfilt.x: Add bibliographic reference.
      * tests/core/ltlfilt.test: Add more tests.
      * tests/python/ltlf.py: New file.
      * tests/Makefile.am: Add it.
      * python/spot/impl.i: Python bindings.
      * NEWS: Mention it.
      2e69e045
  3. 08 Aug, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      formater: add support for double-quoted fields · 0d753048
      Alexandre Duret-Lutz authored
      Part of #91.
      
      * spot/misc/formater.cc, spot/misc/formater.hh: Here.
      * bin/common_output.cc: Adjust automatic output format.
      * doc/org/csv.org: Adjust.
      * tests/core/lbt.test, tests/core/ltlfilt.test: More tests.
      * NEWS: Mention the changes.
      0d753048
  4. 21 Jun, 2016 1 commit
  5. 15 Feb, 2016 1 commit
  6. 04 Jan, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      Merge the core and python tests in the tests/ directory · 5cb94a1a
      Alexandre Duret-Lutz authored
      * tests/: Rename as...
      * tests/core/: ... this.
      * python/tests/: Rename as...
      * tests/python/: ... this.
      * python/tests/run.in: Move as...
      * tests/run.in: This, and adjust.
      * tests/Makefile.am: Adjust to run both core and python tests.
      * configure.ac, README, debian/python3-spot.examples, debian/rules,
      doc/org/tut.org, python/Makefile.am, spot/ltsmin/Makefile.am,
      spot/ltsmin/kripke.test, spot/sanity/ipynb.test: Adjust.
      5cb94a1a
  7. 27 Dec, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      move spot/bin/ and spot/tests/ up by one level · 134dfc73
      Alexandre Duret-Lutz authored
      * spot/bin/: Move...
      * bin/: ... here.
      * spot/tests/: Move...
      * tests/: ... here.
      * Makefile.am, README, bench/stutter/Makefile.am,
      bench/stutter/stutter_invariance_formulas.cc, doc/Makefile.am,
      configure.ac, debian/rules, spot/Makefile.am, spot/ltsmin/Makefile.am,
      spot/ltsmin/kripke.test, spot/sanity/style.test, python/tests/run.in:
      Adjust.
      134dfc73
  8. 04 Dec, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      rename src/ as spot/ and use include <spot/...> · f120dd32
      Alexandre Duret-Lutz authored
      * NEWS: Mention the change.
      * src/: Rename as ...
      * spot/: ... this, adjust all headers to include <spot/...> instead of
      "...", and adjust all Makefile.am to search headers from the top-level
      directory.
      * HACKING: Add conventions about #include.
      * spot/sanity/style.test: Add a few more grep to catch cases
      that do not follow these conventions.
      * .gitignore, Makefile.am, README, bench/stutter/Makefile.am,
      bench/stutter/stutter_invariance_formulas.cc,
      bench/stutter/stutter_invariance_randomgraph.cc, configure.ac,
      debian/rules, doc/Doxyfile.in, doc/Makefile.am,
      doc/org/.dir-locals.el.in, doc/org/g++wrap.in, doc/org/init.el.in,
      doc/org/tut01.org, doc/org/tut02.org, doc/org/tut03.org,
      doc/org/tut10.org, doc/org/tut20.org, doc/org/tut21.org,
      doc/org/tut22.org, doc/org/tut30.org, iface/ltsmin/Makefile.am,
      iface/ltsmin/kripke.test, iface/ltsmin/ltsmin.cc,
      iface/ltsmin/ltsmin.hh, iface/ltsmin/modelcheck.cc,
      wrap/python/Makefile.am, wrap/python/ajax/spotcgi.in,
      wrap/python/spot_impl.i, wrap/python/tests/ltl2tgba.py,
      wrap/python/tests/randgen.py, wrap/python/tests/run.in: Adjust.
      f120dd32
  9. 26 Sep, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      revamp the formula hierarchy (montro-patch) · b77f7e24
      Alexandre Duret-Lutz authored
      Flatten the formula ltl::formula hiearchy into a single ltl::vnode that
      has an enumerator to distinguish the types of node, and a common
      interface to access children, update reference counts, etc.  The
      ltl::formula class is now a thin wrapper around an ltl::vnode pointer to
      keep track of reference counts automatically.  Visitor are not used
      anymore; we now have map() and traversor() methods that are more
      concise.
      
      This basically fixes #43, but should be followed by some fine tuning
      that should now be localized to the formula.hh and formula.cc files.
      
      Some statistics about this patch.  I started working on it on Sep 9, had
      a first compiling version two weeks later on Sep 22, and it then took 5
      days to fixes the ~70 distincts bugs that were introduced during the
      conversion.  About 13200 lines were modified, and one third of those
      were removed.
      
      * src/ltlast/formula.cc, src/ltlast/formula.hh: Complete rewrite,
      including what was in separate nearby files.
      * src/ltlast/allnodes.hh, src/ltlast/atomic_prop.cc,
      src/ltlast/atomic_prop.hh, src/ltlast/binop.cc, src/ltlast/binop.hh,
      src/ltlast/bunop.cc, src/ltlast/bunop.hh, src/ltlast/constant.cc,
      src/ltlast/constant.hh, src/ltlast/multop.cc, src/ltlast/multop.hh,
      src/ltlast/unop.cc, src/ltlast/unop.hh, src/ltlvisit/dump.cc,
      src/ltlvisit/dump.hh, src/ltlast/predecl.hh: Delete these files.  Their
      feature have been merged in formula.hh and formula.cc.
      * src/ltlast/visitor.hh, src/ltlvisit/clone.cc, src/ltlvisit/clone.hh,
      src/ltlvisit/dump.hh, src/ltlvisit/postfix.cc, src/ltlvisit/postfix.hh:
      Delete these files, as we do not use visitors anymore.
      * bench/stutter/stutter_invariance_formulas.cc,
      bench/stutter/stutter_invariance_randomgraph.cc, doc/org/tut01.org,
      doc/org/tut02.org, doc/org/tut10.org, doc/org/tut22.org,
      iface/ltsmin/ltsmin.cc, iface/ltsmin/ltsmin.hh,
      iface/ltsmin/modelcheck.cc, src/bin/autfilt.cc,
      src/bin/common_aoutput.cc, src/bin/common_aoutput.hh,
      src/bin/common_finput.cc, src/bin/common_finput.hh,
      src/bin/common_output.cc, src/bin/common_output.hh,
      src/bin/common_trans.cc, src/bin/common_trans.hh, src/bin/dstar2tgba.cc,
      src/bin/genltl.cc, src/bin/ltl2tgba.cc, src/bin/ltl2tgta.cc,
      src/bin/ltlcross.cc, src/bin/ltldo.cc, src/bin/ltlfilt.cc,
      src/bin/ltlgrind.cc, src/bin/randaut.cc, src/bin/randltl.cc,
      src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh,
      src/kripkeparse/kripkeparse.yy, src/ltlast/Makefile.am,
      src/ltlenv/declenv.cc, src/ltlenv/declenv.hh, src/ltlenv/defaultenv.cc,
      src/ltlenv/defaultenv.hh, src/ltlenv/environment.hh,
      src/ltlparse/ltlparse.yy, src/ltlparse/public.hh,
      src/ltlvisit/Makefile.am, src/ltlvisit/apcollect.cc,
      src/ltlvisit/apcollect.hh, src/ltlvisit/contain.cc,
      src/ltlvisit/contain.hh, src/ltlvisit/dot.cc, src/ltlvisit/dot.hh,
      src/ltlvisit/exclusive.cc, src/ltlvisit/exclusive.hh,
      src/ltlvisit/length.cc, src/ltlvisit/length.hh, src/ltlvisit/mark.cc,
      src/ltlvisit/mark.hh, src/ltlvisit/mutation.cc,
      src/ltlvisit/mutation.hh, src/ltlvisit/nenoform.cc,
      src/ltlvisit/nenoform.hh, src/ltlvisit/print.cc, src/ltlvisit/print.hh,
      src/ltlvisit/randomltl.cc, src/ltlvisit/randomltl.hh,
      src/ltlvisit/relabel.cc, src/ltlvisit/relabel.hh,
      src/ltlvisit/remove_x.cc, src/ltlvisit/remove_x.hh,
      src/ltlvisit/simpfg.cc, src/ltlvisit/simpfg.hh,
      src/ltlvisit/simplify.cc, src/ltlvisit/simplify.hh, src/ltlvisit/snf.cc,
      src/ltlvisit/snf.hh, src/ltlvisit/unabbrev.cc, src/ltlvisit/unabbrev.hh,
      src/parseaut/parseaut.yy, src/ta/taexplicit.cc, src/ta/tgtaexplicit.cc,
      src/taalgos/minimize.cc, src/taalgos/tgba2ta.cc, src/tests/bare.test,
      src/tests/checkpsl.cc, src/tests/checkta.cc,
      src/tests/complementation.cc, src/tests/consterm.cc,
      src/tests/emptchk.cc, src/tests/equalsf.cc, src/tests/ikwiad.cc,
      src/tests/isop.test, src/tests/kind.cc, src/tests/length.cc,
      src/tests/ltldo.test, src/tests/ltlfilt.test, src/tests/ltlgrind.test,
      src/tests/ltlprod.cc, src/tests/ltlrel.cc,
      src/tests/parse_print_test.cc, src/tests/parseaut.test,
      src/tests/parseerr.test, src/tests/randtgba.cc, src/tests/readltl.cc,
      src/tests/reduc.cc, src/tests/syntimpl.cc, src/tests/taatgba.cc,
      src/tests/tostring.cc, src/tests/twagraph.cc, src/tests/utf8.test,
      src/twa/acc.cc, src/twa/bdddict.cc, src/twa/bdddict.hh,
      src/twa/bddprint.cc, src/twa/formula2bdd.cc, src/twa/formula2bdd.hh,
      src/twa/taatgba.cc, src/twa/taatgba.hh, src/twa/twa.cc, src/twa/twa.hh
      src/twa/twagraph.cc, src/twa/twagraph.hh, src/twa/twasafracomplement.cc,
      src/twaalgos/compsusp.cc, src/twaalgos/compsusp.hh,
      src/twaalgos/dtgbasat.cc, src/twaalgos/hoa.cc, src/twaalgos/lbtt.cc,
      src/twaalgos/ltl2taa.cc, src/twaalgos/ltl2taa.hh,
      src/twaalgos/ltl2tgba_fm.cc, src/twaalgos/ltl2tgba_fm.hh,
      src/twaalgos/minimize.cc, src/twaalgos/minimize.hh,
      src/twaalgos/neverclaim.cc, src/twaalgos/postproc.cc,
      src/twaalgos/postproc.hh, src/twaalgos/powerset.cc,
      src/twaalgos/powerset.hh, src/twaalgos/randomgraph.cc,
      src/twaalgos/remprop.cc, src/twaalgos/remprop.hh, src/twaalgos/stats.cc,
      src/twaalgos/stats.hh, src/twaalgos/stutter.cc, src/twaalgos/stutter.hh,
      src/twaalgos/translate.cc, src/twaalgos/translate.hh,
      wrap/python/ajax/spotcgi.in, wrap/python/spot.py,
      wrap/python/spot_impl.i, wrap/python/Makefile.am,
      wrap/python/tests/automata-io.ipynb, wrap/python/tests/formulas.ipynb,
      wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltlparse.py,
      wrap/python/tests/ltlsimple.py, wrap/python/tests/randltl.ipynb: Adjust
      to use the new interface.
      * src/sanity/style.test: Accept more C++11 patterns.
      * NEWS: Mention the change.
      b77f7e24
  10. 18 Aug, 2015 1 commit
  11. 17 Aug, 2015 1 commit
  12. 14 Aug, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      do not rewrite <-> and -> for Spin LTL output · 59202bd5
      Alexandre Duret-Lutz authored
      Fixes #39, reported by Joachim Klein.
      
      * src/ltlvisit/lunabbrev.hh, src/ltlvisit/lunabbrev.cc: Take an option
      to specify which of xor/equiv/implies should be rewritten.
      * src/ltlvisit/print.cc (print_spin): Rewrite only xor.
      * src/tests/ltlfilt.test: Add a test case.
      * NEWS: Mention this.
      59202bd5
  13. 11 May, 2015 1 commit
  14. 24 Apr, 2015 1 commit
    • Etienne Renault's avatar
      Merge kripketest, graphtest and ltltest into tests · 66bd8f34
      Etienne Renault authored
      * README, configure.ac, iface/ltsmin/Makefile.am,
      src/tests/defs.in, src/tests/.gitignore, src/tests/Makefile.am,
      src/Makefile.am: update references.
      * src/kripketest/.gitignore, src/kripketest/Makefile.am,
      src/kripketest/defs.in, src/graphtest/.gitignore,
      src/graphtest/Makefile.am,
      src/graphtest/defs.in, src/ltltest/.cvsignore,
      src/ltltest/.gitignore, src/ltltest/Makefile.am,
      src/ltltest/defs.in:: remove files.
      * src/kripketest/bad_parsing.test, src/kripketest/kripke.test,
      src/kripketest/origin, src/kripketest/parse_print_test.cc,
      src/ltltest/bare.test, src/ltltest/consterm.cc,
      src/ltltest/consterm.test, src/tests/defs.in,
      src/ltltest/equals.test, src/ltltest/equalsf.cc,
      src/ltltest/eventuniv.test, src/ltltest/exclusive-ltl.test,
      src/graphtest/graph.cc, src/graphtest/graph.test,
      src/ltltest/isop.test, src/ltltest/kind.cc,
      src/ltltest/kind.test, src/ltltest/latex.test,
      src/ltltest/lbt.test, src/ltltest/length.cc,
      src/ltltest/length.test, src/ltltest/lenient.test,
      src/ltltest/ltlcrossgrind.test, src/ltltest/ltlfilt.test,
      src/ltltest/ltlgrind.test, src/ltltest/ltlrel.cc,
      src/ltltest/ltlrel.test, src/ltltest/lunabbrev.test,
      src/ltltest/nenoform.test, src/graphtest/ngraph.cc,
      src/graphtest/ngraph.test, src/ltltest/parse.test,
      src/ltltest/parseerr.test, src/ltltest/rand.test,
      src/ltltest/readltl.cc, src/ltltest/reduc.cc,
      src/ltltest/reduc.test, src/ltltest/reduc0.test,
      src/ltltest/reduccmp.test, src/ltltest/reducpsl.test,
      src/ltltest/remove_x.test, src/ltltest/stutter-ltl.test,
      src/ltltest/syntimpl.cc, src/ltltest/syntimpl.test,
      src/graphtest/tgbagraph.test, src/ltltest/tostring.cc,
      src/ltltest/tostring.test, src/ltltest/tunabbrev.test,
      src/ltltest/tunenoform.test, src/graphtest/twagraph.cc,
      src/ltltest/unabbrevwm.test,src/ltltest/utf8.test,
      src/ltltest/uwrm.test: rename as...
      * src/tests/bad_parsing.test, src/tests/kripke.test,
      src/tests/origin, src/tests/parse_print_test.cc,
      src/tests/bare.test, src/tests/consterm.cc,
      src/tests/consterm.test, src/tests/equals.test,
      src/tests/equalsf.cc, src/tests/eventuniv.test,
      src/tests/exclusive-ltl.test, src/tests/graph.cc,
      src/tests/graph.test, src/tests/isop.test,
      src/tests/kind.cc, src/tests/kind.test,
      src/tests/latex.test, src/tests/lbt.test,
      src/tests/length.cc, src/tests/length.test,
      src/tests/lenient.test, src/tests/ltlcrossgrind.test,
      src/tests/ltlfilt.test, src/tests/ltlgrind.test,
      src/tests/ltlrel.cc, src/tests/ltlrel.test,
      src/tests/lunabbrev.test, src/tests/nenoform.test,
      src/tests/ngraph.cc, src/tests/ngraph.test,
      src/tests/parse.test, src/tests/parseerr.test,
      src/tests/rand.test, src/tests/readltl.cc,
      src/tests/reduc.cc, src/tests/reduc.test,
      src/tests/reduc0.test, src/tests/reduccmp.test,
      src/tests/reducpsl.test, src/tests/remove_x.test,
      src/tests/stutter-ltl.test, src/tests/syntimpl.cc,
      src/tests/syntimpl.test, src/tests/tgbagraph.test,
      src/tests/tostring.cc, src/tests/tostring.test,
      src/tests/tunabbrev.test, src/tests/tunenoform.test,
      src/tests/twagraph.cc, src/tests/unabbrevwm.test,
      src/tests/utf8.test, src/tests/uwrm.test: ...these!
      66bd8f34
  15. 22 Apr, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      ltlfilt: add a --define option · 82480720
      Alexandre Duret-Lutz authored
      * src/bin/ltlfilt.cc: Implement it.
      * src/bin/common_output.cc, src/bin/common_output.hh: export the
      stream_formula function.
      * src/ltltest/ltlfilt.test: Test it.
      * src/ltlvisit/relabel.hh: Make it possible to clear the
      relabeling map.
      * NEWS, doc/org/ltlfilt.org: Mention --define.
      82480720
  16. 16 Feb, 2015 2 commits
  17. 13 Feb, 2015 1 commit
  18. 09 Jan, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      add missing utf-8 header to many source files · 579e8fc0
      Alexandre Duret-Lutz authored
      * src/sanity/style.test: Test for the missing header.
      * iface/ltsmin/check.test, src/kripketest/kripke.test,
      src/kripketest/parse_print_test.cc, src/ltlparse/fmterror.cc,
      src/ltltest/consterm.test, src/ltltest/kind.test,
      src/ltltest/length.test, src/ltltest/ltlfilt.test,
      src/ltltest/reduc.cc, src/ltltest/reduc.test,
      src/ltltest/reduc0.test, src/ltltest/reducpsl.test,
      src/ltltest/remove_x.test, src/ltltest/unabbrevwm.test,
      src/ltltest/utf8.test, src/ltltest/uwrm.test, src/ltlvisit/dump.cc,
      src/ltlvisit/remove_x.cc, src/misc/casts.hh, src/misc/fixpool.hh,
      src/misc/hashfunc.hh, src/misc/ltstr.hh, src/sanity/readme.test,
      src/taalgos/tgba2ta.cc, src/tgbaalgos/bfssteps.cc,
      src/tgbaalgos/stats.cc, src/tgbatest/acc.test,
      src/tgbatest/bitvect.test, src/tgbatest/complementation.test,
      src/tgbatest/cycles.test, src/tgbatest/degendet.test,
      src/tgbatest/dfs.test, src/tgbatest/dupexp.test,
      src/tgbatest/emptchkr.test, src/tgbatest/intvcomp.test,
      src/tgbatest/ltl2ta.test, src/tgbatest/ltl2ta2.test,
      src/tgbatest/ltlprod.test, src/tgbatest/maskacc.test,
      src/tgbatest/obligation.test, src/tgbatest/randpsl.test,
      src/tgbatest/readsat.cc, src/tgbatest/readsat.test,
      src/tgbatest/scc.test, src/tgbatest/sccsimpl.test,
      src/tgbatest/taatgba.test, src/tgbatest/tgbaread.test,
      src/tgbatest/tripprod.test, src/tgbatest/uniq.test,
      src/tgbatest/wdba.test: Add it.
      579e8fc0
  19. 11 Dec, 2014 1 commit
  20. 14 Nov, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      stutter check: cleanup and add test cases · f412fee6
      Alexandre Duret-Lutz authored
      * src/ltltest/ltlfilt.test: Add more tests.
      * src/ltltest/stutter.test: New test.
      * src/ltltest/Makefile.am: Adjust.
      * src/bin/ltlfilt.cc: Catch std::runtime_error.
      * src/tgba/tgbasl.hh (make_tgbasl): New function.
      * src/tgba/tgbagraph.hh (make_tgba_graph): Add another overload.
      * src/tgbaalgos/stutter_invariance.cc,
      src/tgbaalgos/stutter_invariance.hh: Take the algorithm version as an
      optional integer, and call getenv() only once.
      * bench/stutter/stutter_invariance_randomgraph.cc,
      bench/stutter/stutter_invariance_formulas.cc: Simplify using the
      above functions.
      f412fee6
  21. 28 Sep, 2013 1 commit
    • Alexandre Duret-Lutz's avatar
      relabel: implement relabeling of Boolean subexpressions. · 87b65b9b
      Alexandre Duret-Lutz authored
      * src/ltlast/multop.cc, src/ltlast/multop.hh (multop::boolean_operands,
      multop::boolean_count): New methods.
      * src/ltlvisit/relabel.cc, src/ltlvisit/relabel.hh
      (relabel): Take an optional relabeling_map as parameter.
      (relabel_bse): New.
      * src/ltltest/ltlrel.test, src/ltltest/ltlrel.cc: New files.
      * src/ltltest/Makefile.am: Add them.
      * src/bin/ltlfilt.cc: Add option --relabel-bool.
      * src/ltltest/ltlfilt.test: Test it.
      * NEWS: Mention it.
      * doc/org/ltlfilt.org: Illustrate it.
      87b65b9b
  22. 26 Sep, 2013 1 commit
    • Alexandre Duret-Lutz's avatar
      Arrange multops so that Boolean arguments come first. · 536e45b3
      Alexandre Duret-Lutz authored
      This helps recursive implication checks.  Also order
      atomic propositions with strverscmp().
      
      * src/ltlast/formula.hh (formula_ptr_less_than_multop,
      is_literal, atomic_prop_cmp): New.
      * src/ltlast/formula.cc (is_literal, atomic_prop_cmp): Implement them.
      * src/ltlast/multop.cc: Use formula_ptr_less_than_multop.
      * src/ltltest/isop.test, src/ltltest/ltlfilt.test,
      src/tgbatest/det.test, src/tgbatest/dstar.test,
      src/tgbatest/explicit.test, src/tgbatest/explpro2.test,
      src/tgbatest/explpro3.test, src/tgbatest/explprod.test,
      src/tgbatest/nondet.test, src/tgbatest/tripprod.test: Adjust tests.
      * NEWS: Mention the new order.
      536e45b3
  23. 12 May, 2013 1 commit
  24. 11 May, 2013 1 commit