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. 15 Feb, 2012 1 commit
    • Alexandre Duret-Lutz's avatar
      Fix a race condition on the CGI script. · 62914059
      Alexandre Duret-Lutz authored
      * wrap/python/ajax/spot.in: Create all cache files in a temporary
      directory, and only rename this directory at the end.  This way if
      two processes are processing the same request, they won't attempt
      to populate the same directory (and only one of the first of two
      renames will succeed, but that is OK).
      62914059
  3. 17 Jan, 2012 3 commits
  4. 18 Dec, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Fix VPATH builds, now that hash.hh include _config.h · 28b7c085
      Alexandre Duret-Lutz authored
      * iface/dve2/Makefile.am, src/eltlparse/Makefile.am
      src/eltltest/Makefile.am, src/evtgba/Makefile.am,
      src/evtgbaalgos/Makefile.am, src/evtgbaparse/Makefile.am,
      src/evtgbatest/Makefile.am, src/kripke/Makefile.am,
      src/kripketest/Makefile.am, src/ltlast/Makefile.am,
      src/ltlparse/Makefile.am, src/ltltest/Makefile.am,
      src/ltlvisit/Makefile.am, src/misc/Makefile.am,
      src/neverparse/Makefile.am, src/saba/Makefile.am,
      src/sabaalgos/Makefile.am, src/sanity/Makefile.am,
      src/tgba/Makefile.am, src/tgbaalgos/Makefile.am,
      src/tgbaalgos/gtec/Makefile.am, src/tgbaparse/Makefile.am,
      src/tgbatest/Makefile.am, wrap/python/Makefile.am (AM_CPPFLAGS):
      Make sure $(top_builddir)/src is included.
      28b7c085
  5. 01 Dec, 2011 1 commit
  6. 28 Nov, 2011 2 commits
  7. 26 Jun, 2011 1 commit
  8. 10 Jun, 2011 1 commit
  9. 09 Jun, 2011 1 commit
  10. 08 Jun, 2011 4 commits
    • Alexandre Duret-Lutz's avatar
      Implement cache pruning in the CGI script. · 3216494c
      Alexandre Duret-Lutz authored
      * wrap/python/ajax/spot.in (finish): Prune the cache once in a
      while.  We rely on hardlinks for garbage collecting the pictures
      and dot sources that may be shared by different requests.
      3216494c
    • 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
    • Alexandre Duret-Lutz's avatar
      Output a "Cache-Control:" header in the CGI script. · 0d2ac81a
      Alexandre Duret-Lutz authored
      * wrap/python/ajax/spot.in: Output a cache-control header, so that
      browsers do no even send two identical requests.
      0d2ac81a
    • Alexandre Duret-Lutz's avatar
      Cache results of the spot.py CGI script. · b8f84411
      Alexandre Duret-Lutz authored
      * wrap/python/ajax/spot.in: Use the QUERY_STRING as a hash key to
      cache the result of the script.  Open stdout without buffering and
      redirect it to a file that we can dump later on cache hits.  Parts
      of this change are extracted from code from Pierre Parutto
      <parutto@lrde.epita.fr>.
      * AUTHORS: Add him.
      b8f84411
  11. 03 Jun, 2011 1 commit
  12. 02 Jun, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Update jQuery and jQuery-UI. · f3bae53e
      Alexandre Duret-Lutz authored
      * wrap/python/ajax/ltl2tgba.html: Adjust to use
      jQuery 1.6.1 and jQuery-UI 1.8.13.  Remove a useless check
      of $("#autoupdate").attr("checked") since this checkbox no longer
      exists.
      * wrap/python/ajax/css/ui-lightness/jquery-ui-1.8.8.custom.css:
      Replace by ...
      * wrap/python/ajax/css/ui-lightness/jquery-ui-1.8.13.custom.css: This.
      * wrap/python/ajax/Makefile.am (EXTRA_DIST): Adjust.
      f3bae53e
  13. 09 Apr, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Fix two spurious segfaults in test cases for the Python interface. · 9ad062b2
      Alexandre Duret-Lutz authored
      * wrap/python/tests/setxor.py, wrap/python/tests/bddnqueen.py:
      Clean all used bdd variables before calling bdd_done(), so that
      bdd_delref() is never called after bdd_done().  In NDEBUG builds,
      bdd_delref() does not check whether the BuDDy is running or not,
      and calling it after bdd_done() will crash.
      9ad062b2
  14. 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
  15. 05 Mar, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Using double borders for acceptance states in SBAs. · e1ef47d9
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dotty.hh (dotty_reachable): Take a new
      assume_sba argument.
      * src/tgbaalgos/dotty.cc (dotty_bfs): Take a new
      mark_accepting_states arguments.
      (dotty_bfs::process_state): Check if a state is accepting using
      the state_is_accepting() method for tgba_sba_proxies, or by
      looking at the first outgoing transition of the state.  Pass
      the result to the dectorator.
      (dotty_reachable): Adjust function.
      * src/tgbaalgos/dottydec.hh, src/tgbaalgos/dottydec.cc,
      src/tgbaalgos/rundotdec.hh, src/tgbaalgos/rundotdec.cc
      (state_decl): Add an "accepting" argument, and use it to
      decorate accepting states with a double border.
      * src/tgbatest/ltl2tgba.cc: Keep track of whether the output
      is an SBA or not, so that we can tell it to dotty().
      * wrap/python/ajax/spot.in: Likewise.
      * wrap/python/cgi-bin/ltl2tgba.in: Likewise.
      e1ef47d9
  16. 04 Mar, 2011 1 commit
  17. 10 Feb, 2011 1 commit
  18. 06 Feb, 2011 1 commit
  19. 05 Feb, 2011 1 commit
  20. 04 Feb, 2011 1 commit
  21. 03 Feb, 2011 1 commit
  22. 27 Jan, 2011 1 commit
  23. 26 Jan, 2011 3 commits
  24. 19 Jan, 2011 1 commit
  25. 18 Jan, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Preliminary implementation of an ajax-based ltl2tgba translator. · 34f49a86
      Alexandre Duret-Lutz authored
      * configure.ac: Output wrap/python/ajax/Makefile.
      * wrap/python/Makefile.am (SUBDIRS): Add ajax.
      * wrap/python/ajax/Makefile.am, wrap/python/ajax/README,
      wrap/python/ajax/ltl2tgba.html, wrap/python/ajax/spot.in: New files.
      * wrap/python/ajax/css/, wrap/python/ajax/js,
      wrap/python/ajax/logos: New directories.
      * README: Document wrap/python/ajax/.
      34f49a86
  26. 17 Jan, 2011 1 commit
  27. 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
  28. 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
  29. 26 Dec, 2010 1 commit
  30. 24 Dec, 2010 2 commits