1. 05 Feb, 2016 3 commits
    • Alexandre Duret-Lutz's avatar
      dot: add option C(COLOR) · 77b0b5b3
      Alexandre Duret-Lutz authored
      This fixes the output gliches visible in the previous patches,
      where highlighting a state would remove its fill color.
      
      * spot/twaalgos/dot.cc, spot/taalgos/dot.cc: Implement option C(COLOR).
      * bin/common_aoutput.cc, doc/org/oaut.org: Document it.
      * doc/org/.dir-locals.el.in, doc/org/init.el.in,
      python/spot/__init__.py: Use it.
      * tests/python/automata-io.ipynb, tests/python/automata.ipynb,
      tests/python/highlighting.ipynb: Test it.
      * tests/core/readsave.test: Adjust.
      * NEWS: Mention recent changes.
      77b0b5b3
    • Alexandre Duret-Lutz's avatar
      python: highlighting functions for edges and states · 23c2cbf4
      Alexandre Duret-Lutz authored
      * python/spot/impl.i (highlight_state, highlight_edge): New function.
      * python/spot/__init__.py (highlight_states, highlight_edges): New
      functions.
      * spot/twaalgos/dot.cc: Add a '#' option.
      * spot/taalgos/dot.cc: Ignore '#'.
      * tests/python/highlighting.ipynb: New file to illustrate everything.
      * tests/Makefile.am, doc/org/tut.org: Add it.
      23c2cbf4
    • Alexandre Duret-Lutz's avatar
      be441825
  2. 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
  3. 03 Feb, 2016 1 commit
  4. 02 Feb, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      twa: make acc_ private · aebe6593
      Alexandre Duret-Lutz authored
      * spot/twa/twa.hh: Here.
      * spot/ta/ta.hh, spot/twa/taatgba.cc, spot/twa/taatgba.hh,
      spot/twa/twagraph.hh, spot/twa/twasafracomplement.cc,
      spot/twaalgos/stutter.cc: Adjust.
      aebe6593
  5. 01 Feb, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      dot, hoa: default to "k" for kripke structure · 02b5460b
      Alexandre Duret-Lutz authored
      * spot/twaalgos/dot.cc, spot/twaalgos/hoa.cc: If a Kripke
      structure is passed, automatically enable the "k" option.
      * tests/core/parse_print_test.cc, tests/ltsmin/modelcheck.cc,
      tests/python/ltsmin.ipynb: Remove the explicit use of "k".
      * NEWS: Mention the change.
      02b5460b
    • Alexandre Duret-Lutz's avatar
      dot: add option "k" · a9b4560f
      Alexandre Duret-Lutz authored
      Fixes #134.
      
      * spot/twaalgos/dot.cc: Implement it.
      * bin/common_aoutput.cc, spot/twaalgos/dot.hh, NEWS: Document it.
      * tests/core/readsave.test, tests/python/ltsmin.ipynb: Test it.
      a9b4560f
  6. 29 Jan, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      dot: use circles if state names are all short · eb0a0b6b
      Alexandre Duret-Lutz authored
      * spot/twaalgos/dot.cc: Check for state names sizes.
      * tests/core/readsave.test: Test the change.
      * tests/core/tgbagraph.test: Adjust.
      eb0a0b6b
    • Alexandre Duret-Lutz's avatar
      dot: add a <N option · b11c07b3
      Alexandre Duret-Lutz authored
      * spot/twaalgos/dot.cc: Implement it.
      * spot/taalgos/dot.cc: Ignore it.
      * spot/twaalgos/copy.cc, spot/twaalgos/copy.hh: Add option
      to limit the number of states.
      * tests/python/ltsmin.ipynb: Improve test case.
      * tests/Makefile.am: Cleanup the files generated by ltsmin.ipynb.
      * python/spot/__init__.py (setup): Add a max_states argument
      that default to 50.
      * bin/common_aoutput.cc: Mention the <INT option.
      * NEWS: Likewise.
      b11c07b3
  7. 28 Jan, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      copy: rewrite as a BFS without using reachiter · 4571d6dd
      Alexandre Duret-Lutz authored
      * spot/twaalgos/copy.hh: Trim includes.
      * spot/twaalgos/copy.cc: Rewrite.
      * tests/python/ltsmin.ipynb: Adjust.
      4571d6dd
    • Alexandre Duret-Lutz's avatar
      twa: introduce the state_map template alias · 9b95b697
      Alexandre Duret-Lutz authored
      * spot/twa/twa.hh: Introduce the type.
      * spot/taalgos/emptinessta.cc, spot/taalgos/emptinessta.hh,
      spot/taalgos/minimize.cc, spot/taalgos/reachiter.cc,
      spot/taalgos/reachiter.hh, spot/taalgos/tgba2ta.cc,
      spot/twa/twasafracomplement.cc, spot/twaalgos/dtwasat.cc,
      spot/twaalgos/emptiness.cc, spot/twaalgos/gtec/status.cc,
      spot/twaalgos/gtec/status.hh, spot/twaalgos/gv04.cc,
      spot/twaalgos/magic.cc, spot/twaalgos/minimize.cc,
      spot/twaalgos/minimize.hh, spot/twaalgos/reachiter.cc,
      spot/twaalgos/reachiter.hh, spot/twaalgos/se05.cc,
      spot/twaalgos/tau03.cc, spot/twaalgos/tau03opt.cc: Use it.
      9b95b697
  8. 26 Jan, 2016 1 commit
  9. 23 Jan, 2016 1 commit
  10. 21 Jan, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      typos · 2364ff81
      Alexandre Duret-Lutz authored
      * bin/autfilt.cc, spot/twaalgos/degen.cc, spot/twaalgos/dtwasat.cc,
      spot/twaalgos/remfin.cc, spot/twaalgos/sccfilter.cc: "only work" ->
      "only works".
      2364ff81
  11. 14 Jan, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      fix complete · 51483b9b
      Alexandre Duret-Lutz authored
      Alexandre Lewkowicz reported a case where complete() would peek an
      existing state that is accepting, and wrongly use it as a sink.
      
      * spot/twaalgos/complete.cc: Fix the function.
      * tests/core/complete.test: Add two more tests.
      * NEWS: Mention the bug.
      51483b9b
  12. 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
  13. 10 Jan, 2016 1 commit
  14. 05 Jan, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      move the sanity tests in tests/sanity/ · 6e854b6d
      Alexandre Duret-Lutz authored
      * spot/sanity/: Move ...
      * tests/sanity/: ... here.
      * spot/sanity/Makefile.am: Merge with...
      * tests/Makefile.am: ... this.
      * tests/run.in: Learn to run perl tests.
      * README, configure.ac, spot/Makefile.am: Adjust.
      * spot/tl/mark.hh: Add missing SPOT_API detected by
      fixed private.test.
      
      * spot/twaalgos/weight.cc, spot/twaalgos/weight.hh: Move...
      * spot/priv/weight.cc, spot/priv/weight.hh: ... here, as
      suggested by fixed private.test.
      * spot/twaalgos/tau03opt.cc, spot/twaalgos/Makefile.am,
      spot/priv/Makefile.am: Adjust.
      6e854b6d
  15. 24 Dec, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      show how to implement product in Python · 74ec9c54
      Alexandre Duret-Lutz authored
      * wrap/python/tests/product.ipynb: New file.
      * wrap/python/tests/Makefile.am, doc/org/tut.org: Add it.
      * wrap/python/tests/ipnbdoctest.py: Ignore %timeit results.
      * wrap/python/spot_impl.i: Add bindings for
      set_state_names()/get_state_names().
      * spot/twaalgos/product.cc: Fix computation of properties.
      * doc/org/hoa.org: Name.
      * NEWS: Update.
      74ec9c54
    • Alexandre Duret-Lutz's avatar
      twa: fix duplicate propositions in ap() · ad37cacb
      Alexandre Duret-Lutz authored
      Calling register_ap() with same atomic proposition several time, for
      instance via copy_ap() in a product, would create duplicate atomic
      propositions.  This fix will be exercised by the next patch.
      
      * spot/twa/twa.hh: Here.
      * spot/twaalgos/compsusp.cc, spot/twaalgos/ltl2taa.cc: Fix
      to correctly register atomic propositions.
      * NEWS: Mention it.
      ad37cacb
  16. 18 Dec, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      acc_cond: get rid of generalized_buchi() · fbf5ac0e
      Alexandre Duret-Lutz authored
      It is already in acc_cond::acc_code::generalized_buchi() along with all
      other acceptance condition constructors.
      
      * spot/twa/acc.hh (acc_cond::generalized_buchi): Remove.
      * spot/tests/ikwiad.cc, spot/twaalgos/postproc.cc: Adjust.
      fbf5ac0e
    • Alexandre Duret-Lutz's avatar
      acc_code: parse from the constructor · df1ef302
      Alexandre Duret-Lutz authored
      * spot/twa/acc.hh, spot/twa/acc.cc (parse_acc_code): Rename as...
      (acc_cond::acc_code): ... this, making it a lot easier to build
      acceptance conditions from strings.
      * NEWS: Mention the change.
      * spot/twaalgos/dtwasat.cc, spot/bin/randaut.cc, spot/tests/acc.cc:
      Adjust.
      * wrap/python/tests/acc_cond.ipynb, wrap/python/tests/accparse.ipynb,
      wrap/python/tests/accparse2.py: Simplify, but not completely to exercise
      all variants.
      * wrap/python/spot_impl.i: Make acc_code's constructor implicit.
      df1ef302
  17. 17 Dec, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      acc: get rid of join() · fd6ad991
      Alexandre Duret-Lutz authored
      * spot/twa/acc.hh: Here.  Also make sure << takes an unsigned
      argument.
      * spot/twa/twaproduct.cc, spot/twaalgos/compsusp.cc,
      spot/twaalgos/product.cc, spot/twaalgos/remfin.cc,
      spot/twaalgos/totgba.cc, spot/tests/acc.cc: Adjust.
      fd6ad991
    • 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
  18. 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
  19. 09 Dec, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      speed up equivalence check for LTL formulas · 679be1d7
      Alexandre Duret-Lutz authored
      With this patch reduc.test goes from 4:57 down to 4:06 on my laptop.
      
      * spot/tl/contain.cc (equal): Use are_isomorphic() before testing
      for containment.
      * spot/twaalgos/are_isomorphic.hh, spot/twaalgos/are_isomorphic.cc:
      (are_isomorphic): New static method.
      679be1d7
    • Alexandre Duret-Lutz's avatar
      decompose_strength: work with inherently weak SCCs · 2e15ed95
      Alexandre Duret-Lutz authored
      * wrap/python/tests/decompose.ipynb: Adjust text.
      * spot/twaalgos/strength.hh, spot/twaalgos/strength.cc:
      Adjust to extract inherently weak SCCs instead of weak SCCs.  This gets
      rids of the special handling for the "corner cases".
      * spot/tests/strength.test: Adjust.
      * NEWS: Mention it.
      2e15ed95
    • Alexandre Duret-Lutz's avatar
      acc: move unsat_mark in acc_cond · 9bbcf85b
      Alexandre Duret-Lutz authored
      so that we can optimize it when no Fin are used
      
      * spot/twa/acc.cc, spot/twa/acc.hh: Do it.
      * spot/twaalgos/complete.cc, spot/twaalgos/strength.cc: Adjust.
      9bbcf85b
  20. 08 Dec, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      introduce is_inherently_weak_automaton() · 1f2260f9
      Alexandre Duret-Lutz authored
      * spot/twaalgos/strength.cc, spot/twaalgos/strength.hh
      (is_inherently_weak_automaton): New function.
      (is_type_automaton): Adjust to implement the above and
      set prop_inherently_weak().
      * spot/twaalgos/isweakscc.cc, spot/twaalgos/isweakscc.hh:
      Rewrite is_inherently_weak_scc() to not enumerate cycles.
      * spot/bin/autfilt.cc: Add a --is-inherently-weak option.
      * spot/tests/readsave.test: More tests.
      * spot/tests/strength.test: Adjust expected output.
      * doc/org/hoa.org: Adjust documentation of --check.
      * NEWS: Mention those changes.
      1f2260f9
  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