1. 23 Oct, 2015 1 commit
    • 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
  2. 21 Oct, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      fix "input buffer overflow, can't enlarge buffer..." · 64df4fbc
      Alexandre Duret-Lutz authored
      This occured when parsing the HOA automaton generated by Rabinizer3 for
      a very long LTL formula with many nested U.  State labels could easily
      be more than 40k characters.
      
      * src/parseaut/scanaut.ll: Fix that.
      * src/tests/parseaut.test: New test case.
      * NEWS: Mention the fix.
      64df4fbc
  3. 15 Oct, 2015 1 commit
  4. 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
  5. 09 Sep, 2015 3 commits
  6. 08 Sep, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      parseaut: swallow the dstarparser · 209e89a9
      Alexandre Duret-Lutz authored
      Note that the parser is still not able to reader multiple dstar
      automata.
      
      * src/dstarparse/: Delete.
      * configure.ac, src/Makefile.am, README: Adjust.
      * src/parseaut/parseaut.yy, src/parseaut/scanaut.ll: Merge in the
      dstarparser rules.
      * src/bin/common_trans.cc, src/bin/common_trans.hh,
      src/bin/dstar2tgba.cc, src/bin/ltlcross.cc, src/bin/ltldo.cc,
      src/tests/ikwiad.cc: Adjust usage.
      * src/tests/parseaut.test: Adjust expected output.
      209e89a9
    • Alexandre Duret-Lutz's avatar
      parseaut: fix typo in error message · 5098c91b
      Alexandre Duret-Lutz authored
      * src/parseaut/parseaut.yy: Here.
      * src/tests/parseaut.test: Adjust.
      5098c91b
  7. 23 Jul, 2015 1 commit
  8. 12 Jun, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      Rename src/tests/ltl2tgba as src/tests/ikwiad. · 17dc2f86
      Alexandre Duret-Lutz authored
      Fixes #23.
      
      * src/tests/ltl2tgba.cc: Rename as ...
      * src/tests/ikwiad.cc: ... this.
      * src/tests/Makefile.am, src/tests/babiak.test, src/tests/checkta.cc,
      src/tests/complementation.test, src/tests/cycles.test,
      src/tests/dbacomp.test, src/tests/degendet.test,
      src/tests/degenid.test, src/tests/det.test, src/tests/dfs.test,
      src/tests/dstar.test, src/tests/dupexp.test, src/tests/emptchke.test,
      src/tests/kv.test, src/tests/ltl2neverclaim-lbtt.test,
      src/tests/ltl2neverclaim.test, src/tests/ltl2tgba.test,
      src/tests/ltlcounter.test, src/tests/ltlcross.test,
      src/tests/neverclaimread.test, src/tests/obligation.test,
      src/tests/parseaut.test, src/tests/randaut.test,
      src/tests/randpsl.test, src/tests/renault.test,
      src/tests/satmin2.test, src/tests/sccsimpl.test, src/tests/sim2.test,
      src/tests/simdet.test, src/tests/spotlbtt.test, src/tests/wdba.test,
      src/tests/wdba2.test, bench/emptchk/README, bench/emptchk/defs.in,
      bench/ltlclasses/run, bench/ltlcounter/run, bench/wdba/run: Adjust.
      17dc2f86
  9. 11 Jun, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      hoaparse: rename to parseaut · a86391ab
      Alexandre Duret-Lutz authored
      Because this parser is not specific to HOA anymore.
      
      * src/hoaparse/Makefile.am, src/hoaparse/fmterror.cc,
      src/hoaparse/hoaparse.yy, src/hoaparse/parsedecl.hh,
      src/parseaut/public.hh, src/hoaparse/hoascan.ll,
      src/tests/hoaparse.test: Rename to...
      * src/parseaut/Makefile.am, src/parseaut/fmterror.cc,
      src/parseaut/parseaut.yy, src/parseaut/parsedecl.hh,
      src/hoaparse/public.hh, src/parseaut/scanaut.ll,
      src/tests/parseaut.test: ... these, and also adjust the name internally.
      For instance hoa_aut_ptr is now parsed_aut_ptr; hoa_stream_parser is now
      automaton_stream_parser, and hoa_parse() has become parse_aut().
      * NEWS, README, configure.ac, doc/org/tut20.org, src/Makefile.am,
      src/bin/autfilt.cc, src/bin/common_aoutput.cc,
      src/bin/common_aoutput.hh, src/bin/common_conv.cc,
      src/bin/ltlcross.cc, src/bin/ltldo.cc, src/tests/Makefile.am,
      src/tests/complementation.cc, src/tests/ltl2tgba.cc,
      src/tests/readsave.test, wrap/python/ajax/spot.in,
      wrap/python/spot.py, wrap/python/spot_impl.i,
      wrap/python/tests/automata-io.ipynb, wrap/python/tests/parsetgba.py:
      Adjust.
      a86391ab
  10. 09 Jun, 2015 1 commit
  11. 01 Jun, 2015 1 commit
  12. 24 May, 2015 1 commit
  13. 21 May, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      acc: better Rabin/Streett detection · e04b4eb9
      Alexandre Duret-Lutz authored
      * src/twa/acc.cc: Allow duplicate and reordered pairs.  Also recognize
      the single-pair cases.
      * src/twaalgos/hoa.cc: When Rabin or Streett is detected, canonicalize
      the Acceptance: line.
      * src/tests/hoaparse.test, wrap/python/tests/accparse2.py: More tests.
      * src/tests/sbacc.test: Adjust.
      e04b4eb9
  14. 20 May, 2015 2 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
      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
  15. 04 May, 2015 1 commit
  16. 24 Apr, 2015 1 commit
  17. 19 Apr, 2015 1 commit
  18. 25 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      cleanacc: better cleanup · 7353e47f
      Alexandre Duret-Lutz authored
      Sometimes, simplifying the acceptance condition (because it refers to
      sets that do not appear in the automaton) cause more sets to be removed
      from the acceptance condition, and therefore warrant another pass to
      remove those sets from the automaton.
      
      * src/tgbaalgos/cleanacc.cc: Here.
      * src/tgbatest/hoaparse.test: Add a test case.
      7353e47f
  19. 20 Mar, 2015 1 commit
  20. 28 Feb, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      add a stutter-invariant property to automata · 1f0bb428
      Alexandre Duret-Lutz authored
      ... and show it in the HOA output.  Fixes #60.
      
      * src/tgba/tgba.hh: Add is_stutter_invariant().
      * src/tgbaalgos/hoa.cc: Print stutter-invariant
      and inherently-weak.
      * src/tgbaalgos/ltl2tgba_fm.cc: Set both.
      * src/tgbaalgos/are_isomorphic.cc, src/tgbaalgos/complete.cc,
      src/tgbaalgos/degen.cc, src/tgbaalgos/dtgbacomp.cc,
      src/tgbaalgos/mask.cc, src/tgbaalgos/minimize.cc,
      src/tgbaalgos/remfin.cc, src/tgbaalgos/sccfilter.cc,
      src/tgbaalgos/simulation.cc, src/tgbaalgos/stutter.cc,
      src/tgbatest/hoaparse.test, src/tgbatest/ltldo.test,
      src/tgbatest/monitor.test, src/tgbatest/randomize.test,
      src/tgbatest/remfin.test, src/tgbatest/sbacc.test: Adjust.
      1f0bb428
    • Alexandre Duret-Lutz's avatar
      hoa: add option to output implicit labels · 566118a5
      Alexandre Duret-Lutz authored
      Fixes #59.
      
      * src/tgbaalgos/hoa.cc: Add option i.
      * src/bin/common_aoutput.cc, src/bin/dstar2tgba.cc,
      src/tgbaalgos/hoa.hh: Document it.
      * src/tgbatest/hoaparse.test: Test it.
      566118a5
  21. 26 Feb, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      Add a cleanup_acceptance() algorithm · 659107a0
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/cleanacc.cc, src/tgbaalgos/cleanacc.hh: New file.
      * src/tgbaalgos/Makefile.am: Add them.
      * src/tgba/acc.hh, src/tgba/tgba.hh (get_acceptance): Return a
      reference.
      * src/bin/autfilt.cc: Add a --cleanup-acceptance option.
      * src/tgbatest/hoaparse.test: Test it.
      659107a0
  22. 23 Feb, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      Preliminirary support for generic acceptance. · fd1f6c4d
      Alexandre Duret-Lutz authored
      * src/tgba/acc.hh: Add creation and printing of generic acceptance
      code.
      * src/tgba/acc.cc: New file.
      * src/tgba/Makefile.am: Add it.
      * src/tgbatest/acc.cc: More tests.
      * src/tgbatest/acc.test: Update.
      * src/tgba/tgba.hh (set_acceptance, get_acceptance): New methods.
      * src/tgba/tgbagraph.hh: Store acceptance code.
      * src/hoaparse/hoaparse.yy: Read any acceptance.
      * src/dstarparse/nsa2tgba.cc, src/ta/taexplicit.cc,
      src/tgba/tgbaproduct.cc, src/tgba/tgbasafracomplement.cc,
      src/tgbaalgos/degen.cc, src/tgbaalgos/hoa.cc,
      src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/product.cc, src/tgbaalgos/stutter.cc,
      src/tgbatest/hoaparse.test: Adjust.
      fd1f6c4d
  23. 03 Feb, 2015 1 commit
  24. 02 Feb, 2015 1 commit
  25. 28 Jan, 2015 1 commit
  26. 25 Jan, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      never: use state-names as comments · e5294aac
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/neverclaim.cc: Here.
      * src/hoaparse/hoaparse.yy: Use set_acceptance_conditions() to set
      the number of acceptance sets.  Otherwise, the single_acc_set property
      is not set.
      * src/tgbaalgos/postproc.cc: When expecting a BA or a monitor, do not do
      anything if the input is already a BA or a monitor.
      * src/tgbatest/hoaparse.test: Add a test case.
      * src/tgbatest/readsave.test: Adjust.
      e5294aac
  27. 23 Jan, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      hoa,dot: propagate state names · 9add895b
      Alexandre Duret-Lutz authored
      * src/hoaparse/hoaparse.yy: Store state names.
      * src/tgbaalgos/dotty.cc, src/tgbaalgos/hoa.cc: Output them.
      * src/tgbatest/readsave.test: Test this.
      * src/tgbatest/hoaparse.test: Update.
      9add895b
  28. 21 Jan, 2015 1 commit
  29. 20 Jan, 2015 2 commits
  30. 05 Jan, 2015 3 commits
  31. 04 Jan, 2015 1 commit
  32. 11 Dec, 2014 1 commit