1. 25 Feb, 2012 1 commit
    • Alexandre Duret-Lutz's avatar
      Make all python code compatible with Python 2.x and Python 3.x. · 61127a3f
      Alexandre Duret-Lutz authored
      * wrap/python/buddy.i (__le__, __lt__, __eq__, __ne__, __ge__
      __gt__): New operators for bdd.
      * wrap/python/spot.i (__le__, __lt__, __eq__, __ne__, __ge__
      __gt__, __hash__): New operators for formula.
      (nl_cout, nl_cerr): New functions.
      * wrap/python/tests/bddnqueen.py,
      wrap/python/tests/interdep.py, wrap/python/tests/ltl2tgba.py,
      wrap/python/tests/ltlparse.py, wrap/python/tests/ltlsimple.py,
      wrap/python/tests/minato.py, wrap/python/tests/modgray.py: Adjust
      to the new print syntax by using sys.output.write() or nl_cout()
      instead.
      * wrap/python/tests/optionmap.py: Remove all print calls.
      * wrap/python/ajax/spot.in: Massive adjustments in order to work
      with both Python 2 and 3.  In python 3, reopening stdout as
      unbuffered requires it to be open as binary, which in turns
      requires any string output to be encoded manually.  BaseHTTPServer
      and CGIHTTPServer have been merged into http.server, so we have
      to try two different import syntaxes.  execfile no longer exists,
      so it has to be emulated.
      This also fixes two bugs where the script would segfault on
      empty input, or when calling Tau03 on automata with less then
      one acceptance conditions.
      61127a3f
  2. 08 Jun, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Cache dot sources in the CGI script. · 155ba42c
      Alexandre Duret-Lutz authored
      * wrap/python/ajax/spot.in (render_dot, render_dot_maybe)
      (render_automaton, render_formula): Cache the dot source, so that
      we do not have to regenerate two pictures from the same contents.
      * wrap/python/spot.i: Typo in the ostringstream declaration.
      155ba42c
  3. 29 Mar, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Include <cstddef> in python modules to workaround Swig bug. · 35a01937
      Alexandre Duret-Lutz authored
      * wrap/python/spot.i, wrap/python/buddy.i: Include <cstddef>
      because Swig 2.0.2 uses ptrdiff_t and does not do the include
      itself.  In g++ most libstdc++ standard headers have been changed
      to no longer include <cstddef> as an implementation detail, so
      the difference shows.
      35a01937
  4. 17 Jan, 2011 1 commit
  5. 07 Jan, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Fix usage of minimize_obligation in the CGI script. · 74f14567
      Alexandre Duret-Lutz authored
      * wrap/python/cgi-bin/ltl2tgba.py (reduce_wdba): Use
      minimize_obligation_new a pass the formula.
      * wrap/python/spot.i (minimize_obligation_new): New function, to
      cope with the strange specification of spot::minimize_obligation()
      not always creating a new automaton.
      74f14567
  6. 05 Jan, 2011 2 commits
    • Alexandre Duret-Lutz's avatar
      Cleanup the minimize.hh interface. · 8c972ad3
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/minimize.hh, src/tgbaalgos/minimize.cc
      (minimize): Split into ...
      (minimize_wdba, minimize_monitor): ... these two functions.
      * src/tgbatest/ltl2tgba.cc (main): Adjust the call to
      minimize_monitor.
      * wrap/python/cgi-bin/ltl2tgba.in: Adjust the calls to
      minimize_monitor and minimize_obligation.
      * wrap/python/spot.i: Declare minimize_monitor, minimize_wdba,
      minimize_obligations.
      * src/tgba/tgbaexplicit.hh (tgba_explicit_string)
      (tgba_explicit_formula, tgba_explicit_number): Add fake
      declarations so that SWIG can see they inherits from tgba.
      8c972ad3
    • Alexandre Duret-Lutz's avatar
      Make minimization of obligation properties and deterministic · 241ba112
      Alexandre Duret-Lutz authored
      monitor available in the CGI script.
      
      * wrap/python/spot.i: Declare the minimize() interface.
      * wrap/python/cgi-bin/ltl2tgba.in: Add reduce_dmonitor and
      reduce_wdba options.
      241ba112
  7. 12 Apr, 2010 1 commit
  8. 30 Jan, 2010 1 commit
    • Alexandre Duret-Lutz's avatar
      Add SCC pruning options to the CGI script. · a4766f2f
      Alexandre Duret-Lutz authored
      * wrap/python/cgi-bin/ltl2tgba.in: Add options to symbolically
      prune unaccepting SCCs in LaCIM, and explicitely pruns unaccepting
      SCCs in all algorithms.
      * src/tgbaalgos/reductgba_sim.hh: Conceal most of the file to
      SWIG.
      * wrap/python/spot.i: Include reductgba_sim.hh.
      a4766f2f
  9. 25 Jan, 2010 1 commit
  10. 22 Jan, 2010 1 commit
  11. 11 Nov, 2009 1 commit
  12. 25 Mar, 2009 1 commit
  13. 12 Jun, 2008 1 commit
  14. 25 Feb, 2008 1 commit
  15. 17 Feb, 2005 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/misc/optionmap.hh, src/misc/optionmap.cc · fed4b6f0
      Alexandre Duret-Lutz authored
      (option_map::parse_options): Rewrite.  Do not modify the input
      string, allow !foo as a shorthand for foo=0, and support K and
      M suffixes for values.
      * src/tgbatest/randtgba.cc (cons_emptiness_check): Simplify.
      * wrap/python/spot.i: Process optionmap.hh.
      * wrap/python/tests/optionmap.py: New file.
      * wrap/python/tests/Makefile.am (TESTS): Add it.
      fed4b6f0
  16. 07 Dec, 2004 1 commit
  17. 15 Nov, 2004 1 commit
  18. 04 Nov, 2004 1 commit
  19. 20 Oct, 2004 1 commit
  20. 23 Jun, 2004 1 commit
  21. 21 Apr, 2004 1 commit
  22. 04 Feb, 2004 1 commit
  23. 02 Feb, 2004 2 commits
  24. 21 Nov, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * COPYING: New file. · 43a91a15
      Alexandre Duret-Lutz authored
      * Makefile.am, configure.ac, doc/Makefile.am, iface/Makefile.am,
      iface/gspn/Makefile.am, iface/gspn/common.cc,
      iface/gspn/common.hh, iface/gspn/dottyeesrg.cc,
      iface/gspn/dottygspn.cc, iface/gspn/eesrg.cc, iface/gspn/eesrg.hh,
      iface/gspn/gspn.cc, iface/gspn/gspn.hh, iface/gspn/ltlgspn.cc,
      src/Makefile.am, src/ltlast/Makefile.am, src/ltlast/allnodes.hh,
      src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh,
      src/ltlast/binop.cc, src/ltlast/binop.hh, src/ltlast/constant.cc,
      src/ltlast/constant.hh, src/ltlast/formula.cc,
      src/ltlast/formula.hh, src/ltlast/multop.cc, src/ltlast/multop.hh,
      src/ltlast/predecl.hh, src/ltlast/refformula.cc,
      src/ltlast/refformula.hh, src/ltlast/unop.cc, src/ltlast/unop.hh,
      src/ltlast/visitor.hh, src/ltlenv/Makefile.am,
      src/ltlenv/defaultenv.cc, src/ltlenv/defaultenv.hh,
      src/ltlenv/environment.hh, src/ltlparse/Makefile.am,
      src/ltlparse/fmterror.cc, src/ltlparse/ltlparse.yy,
      src/ltlparse/ltlscan.ll, src/ltlparse/parsedecl.hh,
      src/ltlparse/public.hh, src/ltltest/Makefile.am,
      src/ltltest/defs.in, src/ltltest/equals.cc,
      src/ltltest/equals.test, src/ltltest/lunabbrev.test,
      src/ltltest/nenoform.test, src/ltltest/parse.test,
      src/ltltest/parseerr.test, src/ltltest/readltl.cc,
      src/ltltest/tostring.cc, src/ltltest/tostring.test,
      src/ltltest/tunabbrev.test, src/ltltest/tunenoform.test,
      src/ltlvisit/Makefile.am, src/ltlvisit/clone.cc,
      src/ltlvisit/clone.hh, src/ltlvisit/destroy.cc,
      src/ltlvisit/destroy.hh, src/ltlvisit/dotty.cc,
      src/ltlvisit/dotty.hh, src/ltlvisit/dump.cc, src/ltlvisit/dump.hh,
      src/ltlvisit/lunabbrev.cc, src/ltlvisit/lunabbrev.hh,
      src/ltlvisit/nenoform.cc, src/ltlvisit/nenoform.hh,
      src/ltlvisit/postfix.cc, src/ltlvisit/postfix.hh,
      src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh,
      src/ltlvisit/tunabbrev.cc, src/ltlvisit/tunabbrev.hh,
      src/misc/Makefile.am, src/misc/bddalloc.cc, src/misc/bddalloc.hh,
      src/misc/bddlt.hh, src/misc/hash.hh, src/misc/minato.cc,
      src/misc/minato.hh, src/misc/version.cc, src/misc/version.hh,
      src/tgba/Makefile.am, src/tgba/bdddict.cc, src/tgba/bdddict.hh,
      src/tgba/bddprint.cc, src/tgba/bddprint.hh, src/tgba/public.hh,
      src/tgba/state.hh, src/tgba/statebdd.cc, src/tgba/statebdd.hh,
      src/tgba/succiter.hh, src/tgba/succiterconcrete.cc,
      src/tgba/succiterconcrete.hh, src/tgba/tgba.cc, src/tgba/tgba.hh,
      src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh,
      src/tgba/tgbabddconcretefactory.cc,
      src/tgba/tgbabddconcretefactory.hh,
      src/tgba/tgbabddconcreteproduct.cc,
      src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbabddcoredata.cc,
      src/tgba/tgbabddcoredata.hh, src/tgba/tgbabddfactory.hh,
      src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh,
      src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh,
      src/tgba/tgbatba.cc, src/tgba/tgbatba.hh,
      src/tgbaalgos/Makefile.am, src/tgbaalgos/dotty.cc,
      src/tgbaalgos/dotty.hh, src/tgbaalgos/dupexp.cc,
      src/tgbaalgos/dupexp.hh, src/tgbaalgos/emptinesscheck.cc,
      src/tgbaalgos/emptinesscheck.hh, src/tgbaalgos/lbtt.cc,
      src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.cc,
      src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/magic.cc,
      src/tgbaalgos/magic.hh, src/tgbaalgos/reachiter.cc,
      src/tgbaalgos/reachiter.hh, src/tgbaalgos/save.cc,
      src/tgbaalgos/save.hh, src/tgbaparse/Makefile.am,
      src/tgbaparse/fmterror.cc, src/tgbaparse/parsedecl.hh,
      src/tgbaparse/public.hh, src/tgbaparse/tgbaparse.yy,
      src/tgbaparse/tgbascan.ll, src/tgbatest/Makefile.am,
      src/tgbatest/bddprod.test, src/tgbatest/defs.in,
      src/tgbatest/dupexp.test, src/tgbatest/emptchk.test,
      src/tgbatest/emptchke.test, src/tgbatest/explicit.test,
      src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
      src/tgbatest/explprod.test, src/tgbatest/ltl2tgba.test,
      src/tgbatest/ltlprod.test, src/tgbatest/mixprod.test,
      src/tgbatest/readsave.test, src/tgbatest/spotlbtt.test,
      src/tgbatest/tgbaread.test, src/tgbatest/tripprod.test,
      wrap/Makefile.am, wrap/python/Makefile.am, wrap/python/buddy.i,
      wrap/python/spot.i, wrap/python/cgi/Makefile.am,
      wrap/python/cgi/ltl2tgba.in, wrap/python/tests/Makefile.am,
      wrap/python/tests/bddnqueen.py, wrap/python/tests/interdep.py,
      wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltl2tgba.test,
      wrap/python/tests/ltlparse.py, wrap/python/tests/ltlsimple.py,
      wrap/python/tests/run.in: Add Copyright license.
      43a91a15
  25. 22 Sep, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/tgbaalgos/ltl2tgba.cc, src/tgbaalgos/ltl2tgba.hh: Rename as ... · 83565fb6
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/ltl2tgba_lacim.cc, src/tgbaalgos/ltl2tgba_lacim.hh:
      ... this, and rename ltl_to_tgba() as ltl_to_tgba_lacim as well.
      * iface/gspn/ltlgspn.cc, src/tgbatest/explprod.cc,
      src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlmagic.cc,
      src/tgbatest/ltlprod.cc, src/tgbatest/mixprod.cc,
      src/tgbatest/tripprod.cc, wrap/python/spot.i,
      wrap/python/cgi/ltl2tgba.in, wrap/python/tests/interdep.py,
      wrap/python/tests/ltl2tgba.py: Adjust.
      83565fb6
  26. 15 Aug, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      This implements Couvreur's FM'99 ltl2tgba translation. · 2b9f1720
      Alexandre Duret-Lutz authored
      * src/tgba/bdddict.cc (bdd_dict::is_registered): Split as ...
      (bdd_dict::is_registered_proposition, bdd_dict::is_registered_state,
      bdd_dict::is_registered_accepting_variable): ... these.
      * src/tgba/bdddict.hh: Likewise.
      * src/tgba/tgbaexplicit.cc (tgba_explicit::set_init_state): New method.
      (tgba_explicit::declare_accepting_condition): Arrange so that this
      function can be called during the construction of the automaton.
      (tgba_explicit::complement_all_accepting_conditions): New method.
      (tgba_explicit::has_accepting_condition): Adjust to call
      bdd_dict::is_registered_accepting_variable.
      * src/tgba/tgbaexplicit.hh (tgba_explicit::set_init_state,
      tgba_explicit::complement_all_accepting_conditions): New methods.
      * src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_fm.hh:
      New files.
      * src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
      libtgbaalgos_la_SOURCES): Add them.
      * src/tgbaalgos/ltl2tgba.hh: Add bibtex entry in comment.
      * src/tgbatest/Makefile.am (check_PROGRAMS): Remove spotlbtt
      and tbalbtt.
      (tbalbtt_SOURCES, tbalbtt_CXXFLAGS, spotlbtt_SOURCES): Remove.
      * src/tgbatest/spotlbtt.cc: Delete, superseded by "ltl2tgba -F -t".
      * src/tgbatest/ltl2tgba.cc: Implement the -f and -F options.
      * src/tgbatest/spotlbtt.test: Use "ltl2tgba -F -t" instead of
      "spotlbtt", "ltl2tgba -F -t -D" instead of "tbalbtt", and add
      also check the ltl2tgba_fm translator.
      * wrap/python/spot.i: Wrap ltl2tgba_fm.
      * wrap/python/cgi/ltl2tgba.in: Add radio buttons to select
      between ltl2tgba and ltl2tgba_fm.
      * wrap/python/tests/ltl2tgba.py: Add support for the -f option.
      * wrap/python/tests/ltl2tgba.test: Try the -f option.
      2b9f1720
  27. 05 Aug, 2003 2 commits
  28. 04 Aug, 2003 5 commits
  29. 31 Jul, 2003 2 commits
    • Alexandre Duret-Lutz's avatar
      * configure.ac: Output wrap/python/tests/Makefile · 0c50e20f
      Alexandre Duret-Lutz authored
      and wrap/python/tests/run.
      * wrap/python/Makefile.am (SUBDIRS): New variable.
      * wrap/python/spot.i: Include all formulae headers from ltlast/,
      as well as ltlvisit/destroy.hh.
      (spot::ltl::formula::__cmp__, spot::ltl::formula::__str__): New
      functions.
      * wrap/python/tests/Makefile.am, wrap/python/tests/ltlsimple.py,
      wrap/python/tests/run.in: New files.
      0c50e20f
    • Alexandre Duret-Lutz's avatar
      * wrap/Makefile.am, wrap/spot.i: Move ... · 525cc016
      Alexandre Duret-Lutz authored
      * wrap/python/Makefile.am, wrap/python/spot.i: ... here.
      * wrap/Makefile.am: New file.
      * configure.ac: Output wrap/python/Makefile.
      525cc016
  30. 16 May, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      Check trivial multop equality at build time. The makes the · 1cdfea31
      Alexandre Duret-Lutz authored
      equal visitor useless, since two equals formulae will now
      share the same address.
      
      * src/ltlast/multop.hh (add_sorted): New function.
      (paircmp): New comparison functor.
      (map): Use paircmp, we want to compare the vectors' contents,
      not their addresses.
      * src/ltlast/multop.cc (add_sorted): New function.
      (add): Use it.
      * src/ltltest/equals.cc, src/ltltest/tostring.cc: Compare
      pointers instead of calling equal.
      * src/ltlvisit/equals.cc, src/ltlvisit/equals.hh: Delete.
      * src/ltlvisit/Makefile.am (libltlvisit_la_SOURCES): Remove
      equals.cc and equals.hh.
      * wrap/spot.i: Do not include equals.hh.
      1cdfea31
  31. 30 Apr, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * m4/pypath.m4: New file. · e2c42a9f
      Alexandre Duret-Lutz authored
      * Makefile.am (SUBDIRS): Add wrap.
      * wrap/Makefile.am: New file.
      * wrap/spot.i: New file.  Preliminary bindings for Python.
      * configure.ac: Call adl_CHECK_PYTHON and output wrap/Makefile.
      e2c42a9f