1. 31 Jul, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      hoa: fix I/O of determinism · d3607a7c
      Alexandre Duret-Lutz authored
      Fixes #212.
      
      * spot/parseaut/parseaut.yy, spot/twaalgos/hoa.cc: Recognize
      exist-branch, and adjust printer to the 1.1 semantics.
      * tests/core/alternating.test, tests/core/complete.test,
      tests/core/det.test, tests/core/explsum.test,
      tests/core/parseaut.test, tests/core/readsave.test,
      tests/core/sbacc.test, tests/core/tgbagraph.test,
      tests/python/alternating.py, tests/python/dualize.py: Adjust test
      cases.
      * NEWS: Mention the change.
      d3607a7c
  2. 27 Jul, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      parseaut: make the scanner reentrant · b9fff6a4
      Alexandre Duret-Lutz authored
      * spot/parseaut/parseaut.yy, spot/parseaut/parsedecl.hh,
      spot/parseaut/public.hh, spot/parseaut/scanaut.ll: Use a reentrant
      scanner, so that we can now parse multiple automaton streams at the
      same time.  This is needed for the future autcross, which is going to
      read several individual automata produced by different tools, while
      reading the stream of automata to process.
      b9fff6a4
  3. 25 Jul, 2017 1 commit
  4. 10 May, 2017 2 commits
  5. 20 Apr, 2017 1 commit
    • Thomas Medioni's avatar
      mark_t: sets() no longer returns a vector · cc3bdfcd
      Thomas Medioni authored
      spot::mark_t::sets() was modified so that it now returns an iterable
      object rather than an std::vector<unsigned>.
      
      * NEWS: Mention the modification.
      * python/spot/impl.i: Declares mark_container as iterable to SWIG.
      * spot/parseaut/parseaut.yy: Adapts to the modification.
      * spot/twa/acc.hh: Implement the modification.
      * tests/python/acc_cond.ipynb: Adapts to the modification.
      cc3bdfcd
  6. 20 Mar, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      twa: add support for prop_complete() · 0de5f50d
      Alexandre Duret-Lutz authored
      * spot/twa/twa.hh: Add support.  Make two constructors for prop_set in
      order to diagnose constructions with 5 arguments.
      * spot/parseaut/parseaut.yy: Adjust diagnostics for complete and
      deterministic.
      * spot/tl/exclusive.cc, spot/twa/twagraph.cc,
      spot/twaalgos/alternation.cc, spot/twaalgos/complete.cc,
      spot/twaalgos/complete.hh, spot/twaalgos/degen.cc,
      spot/twaalgos/determinize.cc, spot/twaalgos/hoa.cc,
      spot/twaalgos/isdet.cc, spot/twaalgos/mask.cc,
      spot/twaalgos/minimize.cc, spot/twaalgos/product.cc,
      spot/twaalgos/remfin.cc, spot/twaalgos/remprop.cc,
      spot/twaalgos/sbacc.cc, spot/twaalgos/sccfilter.cc,
      spot/twaalgos/simulation.cc, spot/twaalgos/strength.cc,
      spot/twaalgos/stutter.cc, spot/twaalgos/totgba.cc,
      tests/core/parseaut.test, tests/python/product.ipynb: Adjust.
      * NEWS, doc/org/concepts.org, doc/org/hoa.org,
      doc/org/tut21.org: Document it.
      0de5f50d
  7. 12 Feb, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      is_alternating() -> !is_existential() · fefb375d
      Alexandre Duret-Lutz authored
      Part of #212.
      
      * spot/misc/common.hh (SPOT_DEPRECATED): Improve support current
      compilers and options flags.
      * spot/twa/twagraph.hh, spot/graph/graph.hh (is_alternating): Mark it
      as deprecated.
      (is_existential): New method.
      * bin/autfilt.cc, bin/ltlcross.cc, spot/parseaut/parseaut.yy,
      spot/twa/twa.cc, spot/twa/twagraph.cc, spot/twaalgos/alternation.cc,
      spot/twaalgos/are_isomorphic.cc, spot/twaalgos/canonicalize.cc,
      spot/twaalgos/couvreurnew.cc, spot/twaalgos/cycles.cc,
      spot/twaalgos/degen.cc, spot/twaalgos/determinize.cc,
      spot/twaalgos/dot.cc, spot/twaalgos/dtbasat.cc,
      spot/twaalgos/dtwasat.cc, spot/twaalgos/hoa.cc,
      spot/twaalgos/isunamb.cc, spot/twaalgos/isweakscc.cc,
      spot/twaalgos/mask.hh, spot/twaalgos/minimize.cc,
      spot/twaalgos/postproc.cc, spot/twaalgos/product.cc,
      spot/twaalgos/randomize.cc, spot/twaalgos/remfin.cc,
      spot/twaalgos/sbacc.cc, spot/twaalgos/sccfilter.cc,
      spot/twaalgos/sccinfo.cc, spot/twaalgos/simulation.cc,
      spot/twaalgos/strength.cc, tests/core/graph.cc, tests/core/ngraph.cc,
      tests/python/alternating.py: Adjust all uses.
      * NEWS: Mention the renaming.
      fefb375d
  8. 01 Feb, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      do not use non-standard anonymous structs · 70c70a63
      Alexandre Duret-Lutz authored
      For #214, as observed by Thibaud Michaud.
      
      * spot/twa/acc.hh: Name the anonymous struct.
      * spot/twa/acc.hh, spot/twa/acc.cc, spot/parseaut/parseaut.yy,
      spot/twaalgos/dtwasat.cc, spot/twaalgos/remfin.cc,
      spot/twaalgos/sepsets.cc, spot/twaalgos/totgba.cc: Adjust all usages.
      * NEWS: Mention the renaming.
      70c70a63
  9. 29 Dec, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      support for semi-deterministic property · 4b013878
      Alexandre Duret-Lutz authored
      * spot/twa/twa.hh (prop_semi_deterministic): New methods.
      * spot/parseaut/parseaut.yy, spot/twaalgos/hoa.cc: Add support for the
      semi-deterministic property.
      * doc/org/concepts.org, doc/org/hoa.org: Document it.
      * spot/twaalgos/isdet.cc,
      spot/twaalgos/isdet.hh (is_semi_deterministic): New function.
      * bin/autfilt.cc: Add --is-semi-deterministic.
      * bin/common_aoutput.cc: Add --check=semi-deterministic.
      * tests/core/semidet.test: New file.
      * tests/Makefile.am: Add it.
      * tests/core/parseaut.test, tests/core/readsave.test: Adjust.
      4b013878
    • Alexandre Duret-Lutz's avatar
      twa_graph: add a merge_univ_dests() method · 12f6c8cf
      Alexandre Duret-Lutz authored
      and call it after parsing
      
      * spot/twa/twagraph.cc, spot/twa/twagraph.hh
      (twa_graph::merge_univ_dests): New method.
      * spot/parseaut/parseaut.yy: Call it.
      * spot/twaalgos/dot.cc: Improve output, now that
      several edges can use the same universal destination.
      * tests/core/alternating.test, tests/core/complete.test,
      tests/core/parseaut.test, tests/python/_altscc.ipynb,
      tests/python/alternating.py, tests/python/alternation.ipynb: Adjust
      test case.
      * doc/org/tut24.org: Adjust example.
      12f6c8cf
  10. 27 Dec, 2016 4 commits
    • Alexandre Duret-Lutz's avatar
      twa: add support for very-weak property · 582d455c
      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.
      582d455c
    • Alexandre Duret-Lutz's avatar
      parseaut: handle alternating automata with many universal init states · d2f471da
      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.
      d2f471da
    • Alexandre Duret-Lutz's avatar
      twa_graph: add support for universal initial states · 48c812a5
      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.
      48c812a5
    • Alexandre Duret-Lutz's avatar
      parseaut: preliminary support for reading alternating automata · e6203686
      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.
      e6203686
  11. 01 Dec, 2016 2 commits
  12. 29 Oct, 2016 1 commit
  13. 01 May, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      honor ap() when counting transitions · dad17b36
      Alexandre Duret-Lutz authored
      Fixing this bug alone revealed another bug: parsing never claim or LBTT
      automata did not register APs.  So this fixes both bugs.
      
      This is the first part of #170.
      
      * spot/twa/twa.hh (register_aps_from_dict): New method.
      * spot/parseaut/parseaut.yy: Call it for never claim and LBTT files.
      * spot/twaalgos/stats.cc: Simplify using ap_vars().
      * tests/core/ltl2tgba.test: Add a test case.
      * NEWS: Mention the bugs.
      dad17b36
  14. 29 Apr, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      honor ap() when counting transitions · 9afa98a1
      Alexandre Duret-Lutz authored
      Fixing this bug alone revealed another bug: parsing never claim or LBTT
      automata did not register APs.  So this fixes both bugs.
      
      This is the first part of #170.
      
      * spot/twa/twa.hh (register_aps_from_dict): New method.
      * spot/parseaut/parseaut.yy: Call it for never claim and LBTT files.
      * spot/twaalgos/stats.cc: Simplify using ap_vars().
      * tests/core/ltl2tgba.test: Add a test case.
      * NEWS: Mention the bugs.
      9afa98a1
  15. 17 Feb, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      parsetl: change the interface to return a parsed_formula · 22f442f7
      Alexandre Duret-Lutz authored
      This gets the interface of all the functions parsing formula in line
      with the interface of the automaton parser: both return a "parsed_*"
      object (parsed_formula or parsed_automaton) that contains the said
      object and its list of errors.  Doing so avoid having to declare the
      parse_error_list in advance.
      
      * spot/tl/parse.hh, spot/parsetl/parsetl.yy: Do the change.
      * spot/parsetl/fmterror.cc: Adjust the error printer.
      * NEWS: Document it.
      * bin/common_finput.cc, bin/common_finput.hh, bin/ltlcross.cc,
      bin/ltldo.cc, bin/ltlfilt.cc, doc/org/tut01.org, doc/org/tut02.org,
      doc/org/tut10.org, doc/org/tut20.org, python/ajax/spotcgi.in,
      python/spot/impl.i, spot/parseaut/parseaut.yy, tests/core/checkpsl.cc,
      tests/core/checkta.cc, tests/core/consterm.cc, tests/core/emptchk.cc,
      tests/core/equalsf.cc, tests/core/ikwiad.cc, tests/core/kind.cc,
      tests/core/length.cc, tests/core/ltlprod.cc, tests/core/ltlrel.cc,
      tests/core/randtgba.cc, tests/core/readltl.cc, tests/core/reduc.cc,
      tests/core/safra.cc, tests/core/syntimpl.cc, tests/core/tostring.cc,
      tests/ltsmin/modelcheck.cc, tests/python/alarm.py,
      tests/python/interdep.py, tests/python/ltl2tgba.py,
      tests/python/ltlparse.py: Adjust all uses.
      22f442f7
  16. 04 Feb, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      parseaut, dot: install a highlighting framework · 348f7cce
      Alexandre Duret-Lutz authored
      * spot/parseaut/parseaut.yy, spot/parseaut/scanaut.ll:
      Parse "spot.highlight.edges" and "spot.highlight.states" to
      fill the "highlight-edges" and "highlight-states" properties.
      * spot/twaalgos/dot.cc: Use these properties to highlight states.
      * tests/core/readsave.test: Add a small test.
      348f7cce
  17. 14 Jan, 2016 1 commit
  18. 13 Jan, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      twa: store property bits as trivals · da391492
      Alexandre Duret-Lutz authored
      * spot/twa/twa.hh: Store property bits as trivals.
      * NEWS: Mention the change.
      * spot/parseaut/parseaut.yy, spot/twaalgos/are_isomorphic.cc,
      spot/twaalgos/complete.cc, spot/twaalgos/dot.cc, spot/twaalgos/hoa.cc,
      spot/twaalgos/isdet.cc, spot/twaalgos/isunamb.cc, spot/twaalgos/lbtt.cc,
      spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/postproc.cc,
      spot/twaalgos/remfin.cc, spot/twaalgos/strength.cc,
      spot/twaalgos/stutter.cc, spot/twaalgos/stutter.hh,
      spot/twaalgos/totgba.cc, tests/core/ikwiad.cc,
      tests/python/product.ipynb, tests/python/remfin.py: Adjust.
      * doc/org/hoa.org, doc/org/tut21.org: Update documentation.
      da391492
  19. 17 Dec, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      acc_cond: rename is_tt/is_ff as is_t/is_f and add printer · 94cca9de
      Alexandre Duret-Lutz authored
      * spot/twa/acc.cc, spot/twa/acc.hh: Here.
      * spot/parseaut/parseaut.yy, spot/twa/acc.hh,
      spot/twaalgos/gtec/gtec.cc, spot/twaalgos/hoa.cc,
      spot/twaalgos/neverclaim.cc, spot/twaalgos/product.cc,
      spot/twaalgos/remfin.cc, spot/twaalgos/strength.cc: Adjust.
      * NEWS: Mention the changes.
      * wrap/python/spot_impl.i: Bind acc_cond the printer.
      * wrap/python/tests/acc_cond.ipynb: Add more examples.
      94cca9de
  20. 16 Dec, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      acc: simplify interface using operators · 4993e807
      Alexandre Duret-Lutz authored
      * spot/twa/acc.hh, spot/twa/acc.cc: Here.  Also remove
      some redundant functions.
      * spot/parseaut/parseaut.yy, spot/priv/accmap.hh, spot/tests/acc.cc,
      spot/tests/twagraph.cc, spot/twa/taatgba.hh, spot/twa/twaproduct.cc,
      spot/twaalgos/dtwasat.cc, spot/twaalgos/hoa.cc, spot/twaalgos/lbtt.cc,
      spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/product.cc,
      spot/twaalgos/remfin.cc, spot/twaalgos/simulation.cc,
      spot/twaalgos/tau03opt.cc, spot/twaalgos/weight.cc,
      spot/twaalgos/weight.hh: Adjust.
      * NEWS: Mention the changes.
      4993e807
  21. 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
  22. 28 Nov, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      rewrite explicit Kripke structures and their parser · afbaa54d
      Alexandre Duret-Lutz authored
      Fixes #4 and fixes #5.
      
      * NEWS: Mention the change.
      * src/kripkeparse/: Delete.
      * README, src/Makefile.am, configure.ac: Adjust.
      * src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh,
      src/kripke/kripkeprint.cc, src/kripke/kripkeprint.hh: Delete.
      * src/kripke/kripkegraph.hh: New file.
      * src/kripke/Makefile.am: Adjust.
      * src/parseaut/parseaut.yy, src/parseaut/public.hh: Add
      an option to read kripke structures.
      * src/tests/bad_parsing.test: Delete.
      * src/tests/Makefile.am: Adjust.
      * src/tests/kripke.test, src/tests/parse_print_test.cc: Rewrite.
      * src/tests/ikwiad.cc, src/tests/parseaut.test,
      iface/ltsmin/modelcheck.cc, wrap/python/spot_impl.i: Adjust.
      afbaa54d
  23. 07 Nov, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      add support for the "terminal" property · 0c5f87b4
      Alexandre Duret-Lutz authored
      * src/twa/twa.hh: Store the terminal property.
      * src/twaalgos/hoa.cc, src/parseaut/parseaut.yy: Add I/O for "terminal".
      * src/twaalgos/ltl2tgba_fm.cc, src/twaalgos/minimize.cc: Set terminal
      as apropriate.
      * src/twaalgos/safety.cc: Use it.
      * doc/org/tut21.org, doc/org/hoa.org, NEWS: Document it.
      * src/tests/complement.test, src/tests/monitor.test,
      wrap/python/tests/automata-io.ipynb: Adjust.
      0c5f87b4
  24. 06 Nov, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      add support for the weak property · 65488871
      Alexandre Duret-Lutz authored
      This fixes #119.
      
      * doc/org/tut21.org, doc/org/hoa.org, NEWS: Document it.
      * src/twa/twa.hh: Support it in automata.
      * src/twaalgos/hoa.cc, src/parseaut/parseaut.yy: Add I/O support.
      * src/twaalgos/minimize.cc, src/twaalgos/totgba.cc: Set weak
      automata on output.
      * src/tests/complement.test, src/tests/parseaut.test,
      src/tests/readsave.test, src/tests/remfin.test, src/tests/sccsimpl.test,
      src/tests/wdba2.test, wrap/python/tests/automata-io.ipynb: Adjust.
      65488871
  25. 05 Nov, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      twa: rename the is_* getters as prop_* · cbb2e64e
      Alexandre Duret-Lutz authored
      This fixes #116.
      
      * src/twa/twa.hh: Rename those methods.
      * NEWS: Document the renamings.
      * doc/org/hoa.org, doc/org/tut21.org, src/parseaut/parseaut.yy,
      src/tests/ikwiad.cc, src/twa/twagraph.hh,
      src/twaalgos/are_isomorphic.cc, src/twaalgos/complete.cc,
      src/twaalgos/degen.cc, src/twaalgos/dot.cc, src/twaalgos/dtbasat.cc,
      src/twaalgos/dtgbasat.cc, src/twaalgos/hoa.cc, src/twaalgos/isdet.cc,
      src/twaalgos/isunamb.cc, src/twaalgos/lbtt.cc,
      src/twaalgos/minimize.cc, src/twaalgos/postproc.cc,
      src/twaalgos/product.cc, src/twaalgos/randomgraph.cc,
      src/twaalgos/remfin.cc, src/twaalgos/sbacc.cc,
      src/twaalgos/simulation.cc, src/twaalgos/stutter.cc,
      src/twaalgos/totgba.cc: Adjust.
      cbb2e64e
  26. 04 Nov, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      twa: no default argument for property setters · 8ea5f73c
      Alexandre Duret-Lutz authored
      This is a preliminary for the renaming suggested in #116.
      
      * src/twa/twa.hh (prop_state_based_acc, prop_inherently_weak,
      prop_deterministic, prop_unambiguous, prop_stutter_invariant,
      prop_stutter_sensitive): Do not default the argument to true.
      * src/parseaut/parseaut.yy, src/twaalgos/degen.cc,
      src/twaalgos/dtbasat.cc, src/twaalgos/dtgbasat.cc,
      src/twaalgos/minimize.cc, src/twaalgos/randomgraph.cc,
      src/twaalgos/remfin.cc, src/twaalgos/sbacc.cc,
      src/twaalgos/simulation.cc, src/twaalgos/totgba.cc,
      wrap/python/tests/remfin.py: Adjust.
      8ea5f73c
    • Alexandre Duret-Lutz's avatar
      parseaut: do not ignore the "unambiguous" property · bf574918
      Alexandre Duret-Lutz authored
      Fixes #115.
      
      * src/parseaut/parseaut.yy: Set the property on the output automaton.
      * src/tests/unambig.test: Add a test case.
      * NEWS: Mention the fix.
      bf574918
  27. 26 Oct, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      parse_aut: simplify the interface · dee73ee3
      Alexandre Duret-Lutz authored
      * src/parseaut/public.hh, src/parseaut/parseaut.yy,
      src/parseaut/fmterror.cc: Add a raise_errors options.  Remove the
      parse_strict() method.  Store parse errors and filename in the output
      parsed_aut to simplify usage.
      * doc/org/tut20.org, doc/org/tut21.org, doc/org/tut30.org,
      src/bin/autfilt.cc, src/bin/common_hoaread.cc, src/bin/dstar2tgba.cc,
      src/bin/ltlcross.cc, src/bin/ltldo.cc, src/tests/complementation.cc,
      src/tests/ikwiad.cc, src/tests/ltlcross3.test, src/tests/ltldo.test,
      wrap/python/spot.py, wrap/python/tests/parsetgba.py: Adjust usage.
      * NEWS: Mention the changes.
      dee73ee3
  28. 23 Oct, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      parseaut: Add a trust_hoa option. · 51a75a31
      Alexandre Duret-Lutz authored
      Fixes #114.
      
      * src/parseaut/public.hh: Add support for a trust_hoa option.
      * src/parseaut/parseaut.yy: If trust_hoa is set, recognize the
      "inherently-weak" and "stutter-invariant" properties.
      * src/bin/common_conv.cc, src/bin/common_conv.hh (read_automaton):
      Move...
      * src/bin/common_hoaread.cc, src/bin/common_hoaread.hh: ... in this
      new file, that also handle the --trust-hoa option.
      * src/bin/Makefile.am: Add them.
      * src/bin/autfilt.cc, src/bin/dstar2tgba.cc, src/bin/ltlcross.cc,
      src/bin/ltldo.cc: Use them.
      * src/tests/parseaut.test, src/tests/ltldo.test: Adjust, and test
      --trust-hoa=no.
      * src/tests/complement.test, src/tests/prodor.test,
      src/tests/sbacc.test: Adjust.
      * wrap/python/spot.py (automata): Add option trust_hoa.
      * NEWS: Update.
      51a75a31
    • Alexandre Duret-Lutz's avatar
      parseaut: change the interface to allow new options · 585e29e7
      Alexandre Duret-Lutz authored
      * src/parseaut/public.hh, src/parseaut/parseaut.yy: Make it easier to
      pass new options to the parser.
      * src/tests/ikwiad.cc, wrap/python/spot.py: Adjust.
      585e29e7
  29. 15 Oct, 2015 1 commit
  30. 30 Sep, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      ltlparse: move in parsetl/, and declare in tl/parse.hh · ae6cd921
      Alexandre Duret-Lutz authored
      * src/ltlparse/public.hh: Rename as...
      * src/tl/parse.hh: ... this.
      * src/ltlparse/: Rename as...
      * src/parsetl/: ... this.
      * NEWS: Mention the change.
      * README, configure.ac, doc/org/tut01.org, doc/org/tut02.org,
      doc/org/tut03.org, doc/org/tut10.org, src/Makefile.am,
      src/bin/common_finput.cc, src/bin/common_finput.hh, src/bin/ltl2tgta.cc,
      src/kripkeparse/kripkeparse.yy, src/parseaut/parseaut.yy,
      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/kind.cc, src/tests/length.cc, src/tests/ltlprod.cc,
      src/tests/ltlrel.cc, src/tests/randtgba.cc, src/tests/readltl.cc,
      src/tests/reduc.cc, src/tests/syntimpl.cc, src/tests/tostring.cc,
      src/tl/Makefile.am, src/twaalgos/lbtt.cc, wrap/python/spot_impl.i,
      iface/ltsmin/modelcheck.cc: Adjust.
      ae6cd921
  31. 28 Sep, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      kill the ltl namespace · cb392101
      Alexandre Duret-Lutz authored
      * NEWS: Mention it.
      * bench/stutter/stutter_invariance_formulas.cc,
      bench/stutter/stutter_invariance_randomgraph.cc, doc/mainpage.dox,
      doc/org/tut01.org, doc/org/tut02.org, doc/org/tut10.org, doc/tl/tl.tex,
      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_r.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/kripkeparse/public.hh,
      src/ltlparse/fmterror.cc, src/ltlparse/ltlparse.yy,
      src/ltlparse/ltlscan.ll, src/ltlparse/parsedecl.hh,
      src/ltlparse/public.hh, src/parseaut/parseaut.yy,
      src/parseaut/public.hh, 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/kind.cc, src/tests/length.cc, src/tests/ltlprod.cc,
      src/tests/ltlrel.cc, src/tests/parse.test,
      src/tests/parse_print_test.cc, 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/tostring.test,
      src/tl/apcollect.cc, src/tl/apcollect.hh, src/tl/contain.cc,
      src/tl/contain.hh, src/tl/declenv.cc, src/tl/declenv.hh,
      src/tl/defaultenv.cc, src/tl/defaultenv.hh, src/tl/dot.cc,
      src/tl/dot.hh, src/tl/environment.hh, src/tl/exclusive.cc,
      src/tl/exclusive.hh, src/tl/formula.cc, src/tl/formula.hh,
      src/tl/length.cc, src/tl/length.hh, src/tl/mark.cc, src/tl/mark.hh,
      src/tl/mutation.cc, src/tl/mutation.hh, src/tl/nenoform.cc,
      src/tl/nenoform.hh, src/tl/print.cc, src/tl/print.hh,
      src/tl/randomltl.cc, src/tl/randomltl.hh, src/tl/relabel.cc,
      src/tl/relabel.hh, src/tl/remove_x.cc, src/tl/remove_x.hh,
      src/tl/simpfg.cc, src/tl/simpfg.hh, src/tl/simplify.cc,
      src/tl/simplify.hh, src/tl/snf.cc, src/tl/snf.hh, src/tl/unabbrev.cc,
      src/tl/unabbrev.hh, 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.hh,
      src/twa/twagraph.cc, src/twa/twagraph.hh, src/twaalgos/compsusp.cc,
      src/twaalgos/compsusp.hh, 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/randomgraph.hh,
      src/twaalgos/relabel.cc, src/twaalgos/relabel.hh,
      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/spot_impl.i: Remove the ltl namespace.
      cb392101
  32. 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