1. 04 Aug, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      implement conversion to GRA and GSA · 14bee1ae
      Alexandre Duret-Lutz authored
      Fixes #174.
      
      * spot/twaalgos/totgba.hh, spot/twaalgos/totgba.cc
      (to_generalized_streett, to_generalized_rabin): New functions.
      * spot/twa/acc.hh: Declare more methods as static.
      * bin/autfilt.cc: Implement --generalized-rabin and
      --generalized-streett options.
      * NEWS: Mention these.
      * tests/core/gragsa.test: New file.
      * tests/Makefile.am: Add it.
      14bee1ae
  2. 24 Jul, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      use SPOT_ASSERT instead of assert · 20cf43b3
      Alexandre Duret-Lutz authored
      For #184.
      
      * spot/graph/graph.hh, spot/kripke/kripkegraph.hh,
      spot/misc/bitvect.hh, spot/misc/common.hh, spot/misc/fixpool.hh,
      spot/misc/mspool.hh, spot/misc/timer.hh, spot/tl/formula.hh,
      spot/twa/acc.hh, spot/twa/taatgba.hh, spot/twa/twa.hh,
      spot/twa/twagraph.hh, spot/twaalgos/emptiness_stats.hh,
      spot/twaalgos/mask.hh, spot/twaalgos/ndfs_result.hxx,
      spot/twaalgos/sccinfo.hh, spot/twaalgos/translate.hh: Replace
      assert() by SPOT_ASSERT(), or an exception, or nothing, depending
      on the case.
      * tests/sanity/style.test: Flag all asserts in headers.
      * HACKING: Discuss assertions.
      20cf43b3
  3. 10 Mar, 2016 1 commit
    • Laurent XU's avatar
      sanity: Replace tabulars by spaces in *.cc *.hh *.hxx · f7e7b4f1
      Laurent XU authored
      * bin/autfilt.cc, bin/common_aoutput.cc, bin/common_aoutput.hh,
      bin/common_finput.cc, bin/common_finput.hh, bin/common_hoaread.cc,
      bin/common_output.cc, bin/common_output.hh, bin/common_post.cc,
      bin/common_post.hh, bin/common_r.hh, bin/common_range.cc,
      bin/common_range.hh, bin/common_setup.cc, bin/common_trans.cc,
      bin/common_trans.hh, bin/dstar2tgba.cc, bin/genltl.cc,
      bin/ltl2tgba.cc, bin/ltl2tgta.cc, bin/ltlcross.cc, bin/ltldo.cc,
      bin/ltlfilt.cc, bin/ltlgrind.cc, bin/randaut.cc, bin/randltl.cc,
      bin/spot-x.cc, spot/graph/graph.hh, spot/graph/ngraph.hh,
      spot/kripke/kripkegraph.hh, spot/ltsmin/ltsmin.cc,
      spot/ltsmin/ltsmin.hh, spot/misc/bareword.cc, spot/misc/bitvect.cc,
      spot/misc/bitvect.hh, spot/misc/common.hh, spot/misc/escape.cc,
      spot/misc/fixpool.hh, spot/misc/formater.cc, spot/misc/hash.hh,
      spot/misc/intvcmp2.cc, spot/misc/intvcmp2.hh, spot/misc/intvcomp.cc,
      spot/misc/intvcomp.hh, spot/misc/location.hh, spot/misc/minato.cc,
      spot/misc/minato.hh, spot/misc/mspool.hh, spot/misc/optionmap.cc,
      spot/misc/optionmap.hh, spot/misc/random.cc, spot/misc/random.hh,
      spot/misc/satsolver.cc, spot/misc/satsolver.hh, spot/misc/timer.cc,
      spot/misc/timer.hh, spot/misc/tmpfile.cc, spot/misc/trival.hh,
      spot/parseaut/fmterror.cc, spot/parseaut/parsedecl.hh,
      spot/parseaut/public.hh, spot/parsetl/fmterror.cc,
      spot/parsetl/parsedecl.hh, spot/priv/accmap.hh, spot/priv/bddalloc.cc,
      spot/priv/freelist.cc, spot/priv/trim.cc, spot/priv/weight.cc,
      spot/priv/weight.hh, spot/ta/taexplicit.cc, spot/ta/taexplicit.hh,
      spot/ta/taproduct.cc, spot/ta/taproduct.hh, spot/ta/tgtaexplicit.cc,
      spot/ta/tgtaexplicit.hh, spot/ta/tgtaproduct.cc,
      spot/ta/tgtaproduct.hh, spot/taalgos/dot.cc, spot/taalgos/dot.hh,
      spot/taalgos/emptinessta.cc, spot/taalgos/emptinessta.hh,
      spot/taalgos/minimize.cc, spot/taalgos/tgba2ta.cc,
      spot/taalgos/tgba2ta.hh, spot/tl/apcollect.cc, spot/tl/contain.cc,
      spot/tl/contain.hh, spot/tl/dot.cc, spot/tl/exclusive.cc,
      spot/tl/exclusive.hh, spot/tl/formula.cc, spot/tl/formula.hh,
      spot/tl/length.cc, spot/tl/mark.cc, spot/tl/mutation.cc,
      spot/tl/mutation.hh, spot/tl/parse.hh, spot/tl/print.cc,
      spot/tl/print.hh, spot/tl/randomltl.cc, spot/tl/randomltl.hh,
      spot/tl/relabel.cc, spot/tl/relabel.hh, spot/tl/remove_x.cc,
      spot/tl/simplify.cc, spot/tl/simplify.hh, spot/tl/snf.cc,
      spot/tl/snf.hh, spot/tl/unabbrev.cc, spot/tl/unabbrev.hh,
      spot/twa/acc.cc, spot/twa/acc.hh, spot/twa/bdddict.cc,
      spot/twa/bdddict.hh, spot/twa/bddprint.cc, spot/twa/formula2bdd.cc,
      spot/twa/formula2bdd.hh, spot/twa/taatgba.cc, spot/twa/taatgba.hh,
      spot/twa/twa.cc, spot/twa/twa.hh, spot/twa/twagraph.cc,
      spot/twa/twagraph.hh, spot/twa/twaproduct.cc, spot/twa/twaproduct.hh,
      spot/twaalgos/are_isomorphic.cc, spot/twaalgos/are_isomorphic.hh,
      spot/twaalgos/bfssteps.cc, spot/twaalgos/bfssteps.hh,
      spot/twaalgos/cleanacc.cc, spot/twaalgos/complete.cc,
      spot/twaalgos/compsusp.cc, spot/twaalgos/compsusp.hh,
      spot/twaalgos/copy.cc, spot/twaalgos/cycles.cc,
      spot/twaalgos/cycles.hh, spot/twaalgos/degen.cc,
      spot/twaalgos/degen.hh, spot/twaalgos/determinize.cc,
      spot/twaalgos/determinize.hh, spot/twaalgos/dot.cc,
      spot/twaalgos/dot.hh, spot/twaalgos/dtbasat.cc,
      spot/twaalgos/dtbasat.hh, spot/twaalgos/dtwasat.cc,
      spot/twaalgos/dtwasat.hh, spot/twaalgos/emptiness.cc,
      spot/twaalgos/emptiness.hh, spot/twaalgos/emptiness_stats.hh,
      spot/twaalgos/gtec/ce.cc, spot/twaalgos/gtec/ce.hh,
      spot/twaalgos/gtec/gtec.cc, spot/twaalgos/gtec/gtec.hh,
      spot/twaalgos/gtec/sccstack.cc, spot/twaalgos/gtec/status.cc,
      spot/twaalgos/gv04.cc, spot/twaalgos/hoa.cc, spot/twaalgos/hoa.hh,
      spot/twaalgos/isdet.cc, spot/twaalgos/isunamb.cc,
      spot/twaalgos/isweakscc.cc, spot/twaalgos/lbtt.cc,
      spot/twaalgos/lbtt.hh, spot/twaalgos/ltl2taa.cc,
      spot/twaalgos/ltl2taa.hh, spot/twaalgos/ltl2tgba_fm.cc,
      spot/twaalgos/ltl2tgba_fm.hh, spot/twaalgos/magic.cc,
      spot/twaalgos/magic.hh, spot/twaalgos/mask.cc, spot/twaalgos/mask.hh,
      spot/twaalgos/minimize.cc, spot/twaalgos/minimize.hh,
      spot/twaalgos/ndfs_result.hxx, spot/twaalgos/neverclaim.cc,
      spot/twaalgos/neverclaim.hh, spot/twaalgos/postproc.cc,
      spot/twaalgos/postproc.hh, spot/twaalgos/powerset.cc,
      spot/twaalgos/powerset.hh, spot/twaalgos/product.cc,
      spot/twaalgos/product.hh, spot/twaalgos/projrun.cc,
      spot/twaalgos/projrun.hh, spot/twaalgos/randomgraph.cc,
      spot/twaalgos/randomgraph.hh, spot/twaalgos/randomize.cc,
      spot/twaalgos/randomize.hh, spot/twaalgos/reachiter.cc,
      spot/twaalgos/reachiter.hh, spot/twaalgos/relabel.cc,
      spot/twaalgos/relabel.hh, spot/twaalgos/remfin.cc,
      spot/twaalgos/remprop.cc, spot/twaalgos/sbacc.cc,
      spot/twaalgos/sccfilter.cc, spot/twaalgos/sccfilter.hh,
      spot/twaalgos/sccinfo.cc, spot/twaalgos/sccinfo.hh,
      spot/twaalgos/se05.cc, spot/twaalgos/se05.hh,
      spot/twaalgos/sepsets.cc, spot/twaalgos/simulation.cc,
      spot/twaalgos/simulation.hh, spot/twaalgos/stats.cc,
      spot/twaalgos/stats.hh, spot/twaalgos/strength.cc,
      spot/twaalgos/strength.hh, spot/twaalgos/stripacc.cc,
      spot/twaalgos/stutter.cc, spot/twaalgos/stutter.hh,
      spot/twaalgos/tau03.cc, spot/twaalgos/tau03opt.cc,
      spot/twaalgos/tau03opt.hh, spot/twaalgos/totgba.cc,
      spot/twaalgos/translate.cc, spot/twaalgos/word.cc, tests/core/acc.cc,
      tests/core/bitvect.cc, tests/core/checkpsl.cc, tests/core/checkta.cc,
      tests/core/consterm.cc, tests/core/emptchk.cc, tests/core/equalsf.cc,
      tests/core/graph.cc, tests/core/ikwiad.cc, tests/core/intvcmp2.cc,
      tests/core/intvcomp.cc, tests/core/kind.cc, tests/core/kripkecat.cc,
      tests/core/ltlrel.cc, tests/core/ngraph.cc, tests/core/randtgba.cc,
      tests/core/readltl.cc, tests/core/reduc.cc, tests/core/safra.cc,
      tests/core/syntimpl.cc, tests/ltsmin/modelcheck.cc: Replace tabulars by
      8 spaces.
      * tests/sanity/style.test: Add checks for no tabulars in *.cc *.hh *.hxx
      f7e7b4f1
  4. 12 Feb, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      postproc: integrate tgba_determinize() · 8568c3b4
      Alexandre Duret-Lutz authored
      * 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=.
      8568c3b4
  5. 18 Dec, 2015 3 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
    • Alexandre Duret-Lutz's avatar
      acc_cond: allow ctor from acc_code only + bind unsat_mark() · d0b29051
      Alexandre Duret-Lutz authored
      * spot/twa/acc.hh: Here.
      * wrap/python/spot_impl.i: Adjust for the strange return type of
      unsat_mark().
      * wrap/python/tests/acc_cond.ipynb: Augment.
      d0b29051
  6. 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
  7. 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
  8. 09 Dec, 2015 1 commit
  9. 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
  10. 03 Oct, 2015 1 commit
  11. 30 Sep, 2015 1 commit
  12. 28 Sep, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      merge ltlvisit/ ltlast/ ltlenv/ into a single tl/ directory · 6ded5e75
      Alexandre Duret-Lutz authored
      The ltl prefix does not make a lot of sens anymore (since we
      support psl as well).  ltlast/ and ltlenv/ were almost empty.
      And ltlvisit/ did not contain any visitor anymore.
      
      * src/ltlvisit/, src/ltlast/, src/ltlenv/: Merge into...
      * src/tl/: ...this.
      * NEWS: Mention the change.
      * README, bench/stutter/stutter_invariance_formulas.cc,
      bench/stutter/stutter_invariance_randomgraph.cc, configure.ac,
      doc/org/tut01.org, doc/org/tut02.org, doc/org/tut10.org, doc/tl/tl.tex,
      iface/ltsmin/ltsmin.hh, iface/ltsmin/modelcheck.cc, src/Makefile.am,
      src/bin/autfilt.cc, src/bin/common_output.cc, src/bin/common_output.hh,
      src/bin/common_r.hh, src/bin/common_trans.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/randltl.cc, src/kripke/kripkeexplicit.hh,
      src/kripkeparse/public.hh, src/parseaut/public.hh, src/priv/accmap.hh,
      src/ta/taexplicit.hh, src/ta/tgtaexplicit.hh, src/tests/equalsf.cc,
      src/tests/ikwiad.cc, src/tests/length.cc, src/tests/ltlrel.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/twagraph.cc, src/twa/acc.hh, src/twa/bdddict.cc,
      src/twa/bdddict.hh, src/twa/bddprint.cc, src/twa/taatgba.cc,
      src/twa/taatgba.hh, 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/isweakscc.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.hh, src/twaalgos/neverclaim.cc,
      src/twaalgos/randomgraph.hh, src/twaalgos/relabel.hh,
      src/twaalgos/remprop.hh, src/twaalgos/stats.cc, src/twaalgos/stutter.cc,
      src/twaalgos/translate.hh, wrap/python/spot_impl.i,
      src/ltlparse/ltlparse.yy, src/ltlparse/public.hh: Adjust.
      6ded5e75
    • Alexandre Duret-Lutz's avatar
      formula: rename the constants for consistency · 8b4ec5de
      Alexandre Duret-Lutz authored
      False/True are problematic in Python, and I don't like that the
      enum is op::False but the constructor formula::ff().  So let's
      just use ff and tt everywhere, and also eword instead of EmptyWord.
      
      * src/ltlast/formula.hh (False, True, EmptyWord, AP, is_false, is_true):
      Rename to...
      (ff, tt, eword, ap, is_ff, is_tt): ... these.
      * iface/ltsmin/ltsmin.cc, src/ltlast/formula.cc,
      src/ltlvisit/apcollect.cc, src/ltlvisit/dot.cc, src/ltlvisit/mark.cc,
      src/ltlvisit/mutation.cc, src/ltlvisit/print.cc,
      src/ltlvisit/relabel.cc, src/ltlvisit/simpfg.cc,
      src/ltlvisit/simplify.cc, src/ltlvisit/snf.cc, src/ltlvisit/unabbrev.cc,
      src/twa/acc.cc, src/twa/acc.hh, src/twa/formula2bdd.cc,
      src/twaalgos/gtec/gtec.cc, src/twaalgos/hoa.cc, src/twaalgos/ltl2taa.cc,
      src/twaalgos/ltl2tgba_fm.cc, src/twaalgos/neverclaim.cc,
      src/twaalgos/product.cc, src/twaalgos/remfin.cc, src/twaalgos/safety.cc,
      src/tests/parseerr.test, src/tests/utf8.test, wrap/python/spot.py:
      Adjust.
      8b4ec5de
  13. 19 Aug, 2015 1 commit
  14. 10 Jul, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      new conversion for Streett->GBA · d8a1dafa
      Alexandre Duret-Lutz authored
      * src/twaalgos/totgba.hh, src/twaalgos/totgba.cc: Implement
      the new function.
      * NEWS: Mention this new function.
      * src/bin/man/spot-x.x: Document SPOT_STREETT_CONV_MIN.
      * src/tests/ltl2dstar4.test: Add tests.
      * src/tests/Makefile.am: Add it.
      * src/bin/autfilt.cc: Do do call remove_fin explicitely
      when --tgba is used, let the postprocessor do it.
      * src/twa/acc.hh: Add shift operators for acceptance marks.
      * src/twaalgos/remfin.cc: Use the new algorithm.
      * src/twaalgos/sccinfo.cc, src/twaalgos/sccinfo.hh: Add
      a new method to supply the acceptance sets visited by an SCC.
      d8a1dafa
  15. 30 Jun, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      scc_filter: do not remove Fin sets from rejecting SCCs · 5cb19a29
      Alexandre Duret-Lutz authored
      * src/twaalgos/sccfilter.cc (acc_filter_some, acc_filter_all): Merge
      into...
      (acc_filter_mask): ... this single parametrized class, and only
      remove sets that are only used as Inf.
      * src/twa/acc.hh: Add missing operator~.
      * src/tests/sccsimpl.test: Add test case.
      * src/tests/sccdot.test: Adjust.
      * NEWS: Mention the bug.
      5cb19a29
  16. 03 Jun, 2015 1 commit
  17. 26 May, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      randaut: better generation of acceptance conditions · 88141b27
      Alexandre Duret-Lutz authored
      * src/bin/randaut.cc: Replace the --acc-type and --acc-sets
      options by a more general --acceptance option, that take either
      an acceptance formula, or an acceptance name parametred by ranges.
      Also accept a range for the number of atomic propositions.
      * src/twaalgos/randomgraph.cc (random_acceptance): Move...
      * src/twa/acc.cc, src/twa/acc.hh (random): ... here.
      (parse_acc_code): Generalize to accept ranges instead of
      numbers whenever sensible, and accept a 'random' acceptance.
      * src/tests/randaut.test: Adjust tests and add more.
      * wrap/python/tests/randaut.ipynb: Adjust call to randaut.
      88141b27
  18. 20 May, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      acc: recognize parity acceptance · 04171207
      Alexandre Duret-Lutz authored
      It has two modes: strict or not.  In strict mode (tested in
      hoaparse.test), the acceptance formula has to match exactly the one
      given in the HOA spec.  In non-strict mode (tested in accparse2.py)
      any equivalent formula is accepted.
      
      * src/twa/acc.cc, src/twa/acc.hh (acc_cond::is_parity): New method.
      * src/twaalgos/hoa.cc: Use it.
      * src/tests/hoaparse.test: Test it.
      * wrap/python/spot_impl.i: Bind it.
      * wrap/python/tests/accparse2.py: New file.
      * wrap/python/tests/Makefile.am: Add it.
      04171207
    • Alexandre Duret-Lutz's avatar
      acc: add support for generating parity conditions · 704eaf26
      Alexandre Duret-Lutz authored
      * src/twa/acc.cc, src/twa/acc.hh: Here.
      * wrap/python/tests/accparse.ipynb: Test it.
      704eaf26
    • Alexandre Duret-Lutz's avatar
      hoa: output acc-name for several acceptance types · d276f73e
      Alexandre Duret-Lutz authored
      So far the HOA output would emit an acc-name only
      for generalized-Buchi or inferior types (Buchi, all).
      It now knows about none, co-Buchi, generalized-co-Buchi,
      Rabin, Streett, and generalized-Rabin as well.
      
      * src/twa/acc.cc, src/twa/acc.hh: Add detection code.
      * src/twaalgos/hoa.cc: Use it.
      * src/tests/remfin.test, src/tests/maskacc.test,
      src/tests/complete.test, src/tests/sim3.test,
      src/tests/ltl2dstar.test: Adjust tests.
      * src/tests/hoaparse.test: Adjust and add more tests.
      d276f73e
  19. 18 May, 2015 4 commits
    • Alexandre Duret-Lutz's avatar
      acc: parse standard acceptance names · 8e1c8469
      Alexandre Duret-Lutz authored
      * src/twa/acc.cc, src/twa/acc.hh: Add method to create
      standard acceptance conditions, and adjust the parse_acc_code
      to recognize them
      * wrap/python/spot_impl.i (acc_cond::acc_code): Add a printer.
      * wrap/python/tests/accparse.ipynb: New test file.
      * wrap/python/tests/Makefile.am: Add it.
      * src/tests/satmin2.test: Use the new syntax.
      8e1c8469
    • Alexandre Duret-Lutz's avatar
      ec49398e
    • Alexandre Duret-Lutz's avatar
      sat-minimize: allow different acceptances as input and output · 0ede9687
      Alexandre Duret-Lutz authored
      * src/twaalgos/dtgbasat.cc (sat_minimize): Use any arbitrary
      acceptance condition passed via the "acc" option.
      * src/twa/acc.hh (mark_t::max_set): New method.
      * src/tests/satmin2.test: Add two test cases with DRA as input
      and DSA as output.
      0ede9687
    • Alexandre Duret-Lutz's avatar
      sat-minimize: generalize to any acceptance · 08749805
      Alexandre Duret-Lutz authored
      This is still missing tests.
      
      * src/bin/autfilt.cc: Add a --sat-minimize option.
      * src/misc/optionmap.cc, src/misc/optionmap.hh: Allow passing strings.
      * src/twa/acc.cc, src/twa/acc.hh: Add helper functions needed
      by the SAT-encoder.
      * src/twaalgos/complete.hh: Typos.
      * src/twaalgos/dtbasat.hh: Adjust comment.
      * src/twaalgos/dtgbasat.cc, src/twaalgos/dtgbasat.hh: Generalize
      to take the target acceptance as input.
      * src/twaalgos/postproc.cc, src/tests/ltl2tgba.cc: Adjust calls.
      * src/twaalgos/sbacc.cc, src/twaalgos/sbacc.hh: Don't pass
      the pointer by reference.
      * src/tests/acc.cc, src/tests/acc.test: More tests
      for the acceptance helper function.
      08749805
  20. 14 May, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      autfilt: new --separate-sets option · 3d1ccdc4
      Alexandre Duret-Lutz authored
      * src/twaalgos/sepsets.cc, src/twaalgos/sepsets.hh: New files.
      * src/twaalgos/Makefile.am: Add them.
      * src/twa/acc.hh (get_acceptance): Add a non-const version.
      * src/bin/autfilt.cc: Add the --separate-sets option.
      * src/tests/sepsets.test: New file.
      * src/tests/Makefile.am: Add it.
      3d1ccdc4
  21. 22 Apr, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      rename tgba files as twa · 703fbd0e
      Alexandre Duret-Lutz authored
      Automatic mass renaming.
      
      * src/graphtest/tgbagraph.cc, src/tgba/acc.cc, src/tgba/acc.hh,
      src/tgba/bdddict.cc, src/tgba/bdddict.hh, src/tgba/bddprint.cc,
      src/tgba/bddprint.hh, src/tgba/formula2bdd.cc,
      src/tgba/formula2bdd.hh, src/tgba/fwd.hh, src/tgba/Makefile.am,
      src/tgba/taatgba.cc, src/tgba/taatgba.hh, src/tgba/tgba.cc,
      src/tgba/tgbagraph.cc, src/tgba/tgbagraph.hh, src/tgba/tgba.hh,
      src/tgba/tgbamask.cc, src/tgba/tgbamask.hh, src/tgba/tgbaproduct.cc,
      src/tgba/tgbaproduct.hh, src/tgba/tgbaproxy.cc, src/tgba/tgbaproxy.hh,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasafracomplement.hh,
      src/tgba/.cvsignore: Rename as...
      * src/graphtest/twagraph.cc, src/twa/acc.cc, src/twa/acc.hh,
      src/twa/bdddict.cc, src/twa/bdddict.hh, src/twa/bddprint.cc,
      src/twa/bddprint.hh, src/twa/formula2bdd.cc, src/twa/formula2bdd.hh,
      src/twa/fwd.hh, src/twa/Makefile.am, src/twa/taatgba.cc,
      src/twa/taatgba.hh, src/twa/twa.cc, src/twa/twagraph.cc,
      src/twa/twagraph.hh, src/twa/twa.hh, src/twa/twamask.cc,
      src/twa/twamask.hh, src/twa/twaproduct.cc, src/twa/twaproduct.hh,
      src/twa/twaproxy.cc, src/twa/twaproxy.hh,
      src/twa/twasafracomplement.cc, src/twa/twasafracomplement.hh,
      src/twa/.cvsignore: ... these.
      * README, bench/stutter/stutter_invariance_randomgraph.cc,
      configure.ac, iface/ltsmin/modelcheck.cc, src/Makefile.am,
      src/bin/common_aoutput.cc, src/bin/common_conv.hh,
      src/bin/common_trans.hh, src/bin/dstar2tgba.cc, src/bin/ltl2tgta.cc,
      src/bin/randaut.cc, src/dstarparse/dra2ba.cc,
      src/dstarparse/public.hh, src/graphtest/Makefile.am,
      src/graphtest/ngraph.cc, src/hoaparse/hoaparse.yy,
      src/hoaparse/public.hh, src/kripke/fairkripke.hh,
      src/kripke/kripkeexplicit.cc, src/kripke/kripkeprint.cc,
      src/kripkeparse/kripkeparse.yy, src/ltlvisit/apcollect.cc,
      src/ltlvisit/apcollect.hh, src/ltlvisit/exclusive.hh,
      src/ltlvisit/simplify.cc, src/ltlvisit/simplify.hh,
      src/priv/accmap.hh, src/ta/ta.hh, src/ta/taexplicit.cc,
      src/ta/taexplicit.hh, src/ta/tgta.hh, src/ta/tgtaexplicit.cc,
      src/ta/tgtaexplicit.hh, src/ta/tgtaproduct.hh, src/taalgos/dotty.cc,
      src/taalgos/emptinessta.cc, src/taalgos/minimize.cc,
      src/taalgos/tgba2ta.cc, src/taalgos/tgba2ta.hh,
      src/tgbaalgos/are_isomorphic.cc, src/tgbaalgos/are_isomorphic.hh,
      src/tgbaalgos/bfssteps.cc, src/tgbaalgos/canonicalize.cc,
      src/tgbaalgos/canonicalize.hh, src/tgbaalgos/cleanacc.hh,
      src/tgbaalgos/complete.hh, src/tgbaalgos/compsusp.cc,
      src/tgbaalgos/compsusp.hh, src/tgbaalgos/degen.cc,
      src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.cc,
      src/tgbaalgos/dotty.hh, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtbasat.hh, src/tgbaalgos/dtgbacomp.hh,
      src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/dtgbasat.hh,
      src/tgbaalgos/dupexp.cc, src/tgbaalgos/dupexp.hh,
      src/tgbaalgos/emptiness.cc, src/tgbaalgos/emptiness.hh,
      src/tgbaalgos/gtec/sccstack.hh, src/tgbaalgos/gtec/status.hh,
      src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh, src/tgbaalgos/hoa.cc,
      src/tgbaalgos/hoa.hh, src/tgbaalgos/isdet.hh, src/tgbaalgos/lbtt.cc,
      src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2taa.hh,
      src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_fm.hh,
      src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh, src/tgbaalgos/mask.hh,
      src/tgbaalgos/minimize.hh, src/tgbaalgos/ndfs_result.hxx,
      src/tgbaalgos/neverclaim.cc, src/tgbaalgos/neverclaim.hh,
      src/tgbaalgos/postproc.hh, src/tgbaalgos/powerset.cc,
      src/tgbaalgos/powerset.hh, src/tgbaalgos/product.cc,
      src/tgbaalgos/product.hh, src/tgbaalgos/projrun.cc,
      src/tgbaalgos/projrun.hh, src/tgbaalgos/randomgraph.cc,
      src/tgbaalgos/randomgraph.hh, src/tgbaalgos/randomize.hh,
      src/tgbaalgos/reachiter.hh, src/tgbaalgos/reducerun.cc,
      src/tgbaalgos/reducerun.hh, src/tgbaalgos/relabel.hh,
      src/tgbaalgos/remfin.hh, src/tgbaalgos/remprop.hh,
      src/tgbaalgos/replayrun.cc, src/tgbaalgos/replayrun.hh,
      src/tgbaalgos/sbacc.hh, src/tgbaalgos/scc.cc, src/tgbaalgos/scc.hh,
      src/tgbaalgos/sccfilter.hh, src/tgbaalgos/sccinfo.cc,
      src/tgbaalgos/sccinfo.hh, src/tgbaalgos/se05.cc,
      src/tgbaalgos/se05.hh, src/tgbaalgos/simulation.cc,
      src/tgbaalgos/simulation.hh, src/tgbaalgos/stats.cc,
      src/tgbaalgos/stats.hh, src/tgbaalgos/stripacc.hh,
      src/tgbaalgos/stutter.cc, src/tgbaalgos/stutter.hh,
      src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03.hh,
      src/tgbaalgos/tau03opt.cc, src/tgbaalgos/tau03opt.hh,
      src/tgbaalgos/totgba.cc, src/tgbaalgos/totgba.hh,
      src/tgbaalgos/weight.hh, src/tgbaalgos/word.cc, src/tgbatest/acc.cc,
      src/tgbatest/complementation.cc, src/tgbatest/emptchk.cc,
      src/tgbatest/ltl2tgba.cc, src/tgbatest/taatgba.cc,
      wrap/python/spot_impl.i: Adjust.
      703fbd0e
  22. 15 Apr, 2015 1 commit
  23. 14 Apr, 2015 1 commit
  24. 25 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      complete: Fix completion of automata using Fin-acceptance · 23bcbb5b
      Alexandre Duret-Lutz authored
      * src/tgba/acc.cc, src/tgba/acc.hh: Add a way to extract
      an unstatisfiable mark, and fix the eval() function for
      Fin acceptance.
      * src/tgbaalgos/complete.cc: Label the sink state using
      an unsatisfiable mark.  Do not assume generalized Büchi.
      * src/tgbatest/complete.test: New test.
      * src/tgbatest/Makefile.am: Add it.
      23bcbb5b
  25. 23 Mar, 2015 1 commit
    • Etienne Renault's avatar
      Replace guards by pragma once. · 57cd9f2d
      Etienne Renault authored
      * iface/ltsmin/ltsmin.hh, src/bin/common_aoutput.hh,
      src/bin/common_conv.hh, src/bin/common_cout.hh,
      src/bin/common_file.hh, src/bin/common_finput.hh,
      src/bin/common_output.hh, src/bin/common_post.hh,
      src/bin/common_r.hh, src/bin/common_range.hh,
      src/bin/common_setup.hh, src/bin/common_sys.hh,
      src/bin/common_trans.hh, src/dstarparse/parsedecl.hh,
      src/dstarparse/public.hh, src/graph/graph.hh,
      src/graph/ngraph.hh, src/hoaparse/parsedecl.hh,
      src/hoaparse/public.hh, src/kripke/fairkripke.hh,
      src/kripke/fwd.hh, src/kripke/kripke.hh,
      src/kripke/kripkeexplicit.hh, src/kripke/kripkeprint.hh,
      src/kripkeparse/parsedecl.hh, src/kripkeparse/public.hh,
      src/ltlast/allnodes.hh, src/ltlast/atomic_prop.hh,
      src/ltlast/binop.hh, src/ltlast/bunop.hh,
      src/ltlast/constant.hh, src/ltlast/formula.hh,
      src/ltlast/multop.hh, src/ltlast/predecl.hh,
      src/ltlast/unop.hh, src/ltlast/visitor.hh,
      src/ltlenv/declenv.hh, src/ltlenv/defaultenv.hh,
      src/ltlenv/environment.hh, src/ltlparse/parsedecl.hh,
      src/ltlparse/public.hh, src/ltlvisit/apcollect.hh,
      src/ltlvisit/clone.hh, src/ltlvisit/contain.hh,
      src/ltlvisit/dotty.hh, src/ltlvisit/dump.hh,
      src/ltlvisit/lbt.hh, src/ltlvisit/length.hh,
      src/ltlvisit/lunabbrev.hh, src/ltlvisit/mark.hh,
      src/ltlvisit/mutation.hh, src/ltlvisit/nenoform.hh,
      src/ltlvisit/postfix.hh, src/ltlvisit/randomltl.hh,
      src/ltlvisit/relabel.hh, src/ltlvisit/remove_x.hh,
      src/ltlvisit/simpfg.hh, src/ltlvisit/simplify.hh,
      src/ltlvisit/snf.hh, src/ltlvisit/tostring.hh,
      src/ltlvisit/tunabbrev.hh, src/ltlvisit/wmunabbrev.hh,
      src/misc/bareword.hh, src/misc/bddlt.hh, src/misc/bitvect.hh,
      src/misc/casts.hh, src/misc/common.hh, src/misc/escape.hh,
      src/misc/fixpool.hh, src/misc/formater.hh, src/misc/hash.hh,
      src/misc/hashfunc.hh, src/misc/intvcmp2.hh,
      src/misc/intvcomp.hh, src/misc/location.hh, src/misc/ltstr.hh,
      src/misc/memusage.hh, src/misc/minato.hh, src/misc/mspool.hh,
      src/misc/optionmap.hh, src/misc/position.hh, src/misc/random.hh,
      src/misc/satsolver.hh, src/misc/timer.hh, src/misc/tmpfile.hh,
      src/misc/version.hh, src/priv/accmap.hh, src/priv/bddalloc.hh,
      src/priv/freelist.hh, src/ta/ta.hh, src/ta/taexplicit.hh,
      src/ta/taproduct.hh, src/ta/tgta.hh, src/ta/tgtaexplicit.hh,
      src/ta/tgtaproduct.hh, src/taalgos/dotty.hh,
      src/taalgos/emptinessta.hh, src/taalgos/minimize.hh,
      src/taalgos/reachiter.hh, src/taalgos/statessetbuilder.hh,
      src/taalgos/stats.hh, src/taalgos/tgba2ta.hh,
      src/tgba/acc.hh, src/tgba/bdddict.hh,
      src/tgba/bddprint.hh, src/tgba/formula2bdd.hh, src/tgba/fwd.hh,
      src/tgba/taatgba.hh, src/tgba/tgba.hh, src/tgba/tgbagraph.hh,
      src/tgba/tgbamask.hh, src/tgba/tgbaproduct.hh, src/tgba/tgbaproxy.hh,
      src/tgba/tgbasafracomplement.hh, src/tgbaalgos/are_isomorphic.hh,
      src/tgbaalgos/bfssteps.hh, src/tgbaalgos/canonicalize.hh,
      src/tgbaalgos/cleanacc.hh, src/tgbaalgos/complete.hh,
      src/tgbaalgos/compsusp.hh, src/tgbaalgos/cycles.hh,
      src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.hh,
      src/tgbaalgos/dtbasat.hh, src/tgbaalgos/dtgbacomp.hh,
      src/tgbaalgos/dtgbasat.hh, src/tgbaalgos/dupexp.hh,
      src/tgbaalgos/emptiness.hh, src/tgbaalgos/emptiness_stats.hh,
      src/tgbaalgos/gtec/ce.hh, src/tgbaalgos/gtec/gtec.hh,
      src/tgbaalgos/gtec/sccstack.hh, src/tgbaalgos/gtec/status.hh,
      src/tgbaalgos/gv04.hh, src/tgbaalgos/hoa.hh, src/tgbaalgos/isdet.hh,
      src/tgbaalgos/isweakscc.hh, src/tgbaalgos/lbtt.hh,
      src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_fm.hh,
      src/tgbaalgos/magic.hh, src/tgbaalgos/mask.hh,
      src/tgbaalgos/minimize.hh, src/tgbaalgos/neverclaim.hh,
      src/tgbaalgos/postproc.hh, src/tgbaalgos/powerset.hh,
      src/tgbaalgos/product.hh, src/tgbaalgos/projrun.hh,
      src/tgbaalgos/randomgraph.hh, src/tgbaalgos/randomize.hh,
      src/tgbaalgos/reachiter.hh, src/tgbaalgos/reducerun.hh,
      src/tgbaalgos/relabel.hh, src/tgbaalgos/remfin.hh,
      src/tgbaalgos/replayrun.hh, src/tgbaalgos/safety.hh,
      src/tgbaalgos/sbacc.hh, src/tgbaalgos/scc.hh,
      src/tgbaalgos/sccfilter.hh, src/tgbaalgos/sccinfo.hh,
      src/tgbaalgos/se05.hh, src/tgbaalgos/simulation.hh,
      src/tgbaalgos/stats.hh, src/tgbaalgos/stripacc.hh,
      src/tgbaalgos/stutter.hh, src/tgbaalgos/tau03.hh,
      src/tgbaalgos/tau03opt.hh, src/tgbaalgos/translate.hh,
      src/tgbaalgos/weight.hh, src/tgbaalgos/word.hh,
      src/sanity/includes.test, src/tgbaalgos/ndfs_result.hxx: here.
      57cd9f2d
  26. 17 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      dotty: colored acceptance sets · 838bfb2a
      Alexandre Duret-Lutz authored
      This implement several new options for --dot in order to
      allow emptiness sets to be output as colored ⓿ or ❶...
      Also add a SPOT_DOTDEFAULT environment variable.
      
      * NEWS, src/bin/man/spot-x.x, src/bin/common_aoutput.cc,
      src/bin/dstar2tgba.cc: Document the new options.
      * doc/org/.dir-locals.el, doc/org/init.el.in: Setup
      SPOT_DOTEXTRA and SPOT_DOTDEFAULT for all documents.
      * doc/org/autfilt.org, doc/org/dstar2tgba.org, doc/org/ltl2tgba.org,
      doc/org/ltldo.org, doc/org/oaut.org, doc/org/randaut.org,
      doc/org/satmin.org: Adjust to this new setup.
      * src/misc/escape.cc, src/misc/escape.hh (escape_html): New function.
      * src/tgba/acc.cc, src/tgba/acc.hh (to_text, to_html): New method.
      * src/tgbaalgos/dotty.cc: Implement the new options.
      * src/tgbatest/readsave.test, wrap/python/tests/automata.ipynb: More
      tests.
      * wrap/python/spot.py: Make sure the default argument for
      dotty_reachable is None, so that SPOT_DOTDEFAULT is honored.
      838bfb2a
  27. 05 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      acc: add a to_cnf() function · a0ac8dc5
      Alexandre Duret-Lutz authored
      * src/tgba/acc.cc, src/tgba/acc.hh (to_cnf, is_cnf): New functions.
      * src/bin/autfilt.cc: Add a --cnf-acceptance option.
      * src/tgbatest/acc2.test: Test it.
      a0ac8dc5
  28. 03 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      sccinfo: introduce is_rejecting() · ebe4ffc5
      Alexandre Duret-Lutz authored
      Because scc_info does not perform a full emptiness check, it is not
      always able to tell whether an SCC is accepting if the acceptance
      condition use Fin primitives.  This introduce is_rejecting_scc() in
      addition to to is_accepting_scc().  Only one of them may be true, but
      they can both be false if scc_info has no idea whether the SCC is
      accepting.
      
      * src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh: Implement
      is_rejecting_scc().
      * src/bin/ltlcross.cc, src/tgba/acc.cc, src/tgba/acc.hh,
      src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/isweakscc.cc,
      src/tgbaalgos/remfin.cc, src/tgbaalgos/safety.cc,
      src/tgbaalgos/sccfilter.cc: Use it.
      * src/tgbaalgos/dotty.cc: Use is_rejecting_scc() and is_accepting_scc()
      to color SCCs.
      * doc/org/oaut.org: Document the colors used.
      * src/tgbatest/neverclaimread.test, src/tgbatest/readsave.test: Adjust
      tests.
      * src/tgbatest/sccdot.test: New test case.
      * src/tgbatest/Makefile.am: Add it.
      ebe4ffc5
  29. 26 Feb, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      acc: refactor strip() routines · 5b2c7b55
      Alexandre Duret-Lutz authored
      * src/tgba/acc.cc, src/tgba/acc.hh: Move the strip() routine from
      acc_cond into acc_cond::mark_t, and the strip() routine from
      cleanacc.cc into acc_cond::acc_code.  Introduce helper functions
      to create inf()/fin()/t()/f() at the acc_code level.
      * src/tgbaalgos/cleanacc.cc: Simplify, using the strip() function
      from acc_code.
      * src/tgbaalgos/mask.cc (mask_acc_sets): Use the strip() function
      from acc_code so that it work on non-Buchi acceptance.
      * src/tgbatest/maskacc.test: Add a test for the latter change.
      * src/tgbaalgos/sccfilter.cc, src/tgbatest/acc.cc: Adjust the
      use mark_t::strip().
      5b2c7b55
    • Alexandre Duret-Lutz's avatar
      ltlcross: adjust to work with generic acceptance · 717c8577
      Alexandre Duret-Lutz authored
      * src/bin/ltlcross.cc: Remove Fin-acceptance before
      doing checks.  More --verbose output.
      * src/tgba/acc.cc, src/tgba/acc.hh: Add an eval_sets() function
      to find the set of acceptance sets needed to satisfy the condition
      in an accepting SCC.
      * src/tgbaalgos/gtec/ce.cc: Use eval_sets() when computing
      a counter example.
      * src/tgbaalgos/gtec/gtec.cc: Raise an exception when called
      on an acceptance that contains Fin.
      * src/tgbatest/ltl2dstar3.test, src/tgbatest/ltlcrossce2.test:
      New files.
      * src/tgbatest/Makefile.am: Add them.
      * src/tgba/tgba.cc (is_empty): Call remove_fin if needed.
      * src/tgbaalgos/product.cc, src/tgbaalgos/dtgbacomp.cc: Adjust
      to work with generic acceptance.
      717c8577
    • Alexandre Duret-Lutz's avatar
      Make it easy to complement an acceptance condition · d597050f
      Alexandre Duret-Lutz authored
      * src/tgba/acc.cc, src/tgba/acc.hh (complement): New method.
      * src/bin/autfilt.cc: Add a --complement-acceptance option.
      * src/tgbatest/acc2.test: Test it.
      d597050f