1. 30 Sep, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      ltlparse: move in parsetl/, and declare in tl/parse.hh · ae6cd921
      Alexandre Duret-Lutz authored
      * src/ltlparse/public.hh: Rename as...
      * src/tl/parse.hh: ... this.
      * src/ltlparse/: Rename as...
      * src/parsetl/: ... this.
      * NEWS: Mention the change.
      * README, configure.ac, doc/org/tut01.org, doc/org/tut02.org,
      doc/org/tut03.org, doc/org/tut10.org, src/Makefile.am,
      src/bin/common_finput.cc, src/bin/common_finput.hh, src/bin/ltl2tgta.cc,
      src/kripkeparse/kripkeparse.yy, src/parseaut/parseaut.yy,
      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/kind.cc, src/tests/length.cc, src/tests/ltlprod.cc,
      src/tests/ltlrel.cc, src/tests/randtgba.cc, src/tests/readltl.cc,
      src/tests/reduc.cc, src/tests/syntimpl.cc, src/tests/tostring.cc,
      src/tl/Makefile.am, src/twaalgos/lbtt.cc, wrap/python/spot_impl.i,
      iface/ltsmin/modelcheck.cc: Adjust.
      ae6cd921
  2. 28 Sep, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      kill the ltl namespace · cb392101
      Alexandre Duret-Lutz authored
      * NEWS: Mention it.
      * bench/stutter/stutter_invariance_formulas.cc,
      bench/stutter/stutter_invariance_randomgraph.cc, doc/mainpage.dox,
      doc/org/tut01.org, doc/org/tut02.org, doc/org/tut10.org, doc/tl/tl.tex,
      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_r.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/kripkeparse/public.hh,
      src/ltlparse/fmterror.cc, src/ltlparse/ltlparse.yy,
      src/ltlparse/ltlscan.ll, src/ltlparse/parsedecl.hh,
      src/ltlparse/public.hh, src/parseaut/parseaut.yy,
      src/parseaut/public.hh, 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/kind.cc, src/tests/length.cc, src/tests/ltlprod.cc,
      src/tests/ltlrel.cc, src/tests/parse.test,
      src/tests/parse_print_test.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/tostring.test,
      src/tl/apcollect.cc, src/tl/apcollect.hh, src/tl/contain.cc,
      src/tl/contain.hh, src/tl/declenv.cc, src/tl/declenv.hh,
      src/tl/defaultenv.cc, src/tl/defaultenv.hh, src/tl/dot.cc,
      src/tl/dot.hh, src/tl/environment.hh, src/tl/exclusive.cc,
      src/tl/exclusive.hh, src/tl/formula.cc, src/tl/formula.hh,
      src/tl/length.cc, src/tl/length.hh, src/tl/mark.cc, src/tl/mark.hh,
      src/tl/mutation.cc, src/tl/mutation.hh, src/tl/nenoform.cc,
      src/tl/nenoform.hh, src/tl/print.cc, src/tl/print.hh,
      src/tl/randomltl.cc, src/tl/randomltl.hh, src/tl/relabel.cc,
      src/tl/relabel.hh, src/tl/remove_x.cc, src/tl/remove_x.hh,
      src/tl/simpfg.cc, src/tl/simpfg.hh, src/tl/simplify.cc,
      src/tl/simplify.hh, src/tl/snf.cc, src/tl/snf.hh, src/tl/unabbrev.cc,
      src/tl/unabbrev.hh, 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.hh,
      src/twa/twagraph.cc, src/twa/twagraph.hh, src/twaalgos/compsusp.cc,
      src/twaalgos/compsusp.hh, 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/randomgraph.hh,
      src/twaalgos/relabel.cc, src/twaalgos/relabel.hh,
      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/spot_impl.i: Remove the ltl namespace.
      cb392101
    • 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
  3. 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
  4. 04 Jun, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      ltlvisit: rename tostring.hh as print.hh and rename printer functions · 8fb7b279
      Alexandre Duret-Lutz authored
      This actually performs three related changes, but separating them
      would be quite inconvenient.
      
      1) rename tostring.hh to print.hh a welcome side-effect is that
      I could fix several files that included this file for not reason.
      
      2) de-overload some of the to_string functions, and rename them
      as follow:
      
        to_string -> print_psl, print_sere, str_psl, str_sere
        to_utf8_string -> print_utf8_psl, print_utf8_sere,
                          str_utf8_psl, str_utf8_sere
        to_spin_string -> print_spin_ltl, str_spin_ltl
        to_wring_string -> print_wring_ltl, str_wing_ltl
        to_lbt_string -> print_lbt_ltl, str_lbt_ltl
        to_latex_string -> print_latex_psl, str_latex_psl
        to_sclatex_string -> print_sclatex_psl, str_sclatex_psl
      
      Now it is clearer what these functions do, and their restrictions.
      
      3) all those print_* functions now take the stream to write onto
      as their first argument.  This fixes #88.
      
      * src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh: Rename into...
      * src/ltlvisit/print.cc, src/ltlvisit/print.hh: ... those, and make
      the changes listed above.
      * doc/org/tut01.org, src/bin/common_output.cc,
      src/bin/common_trans.cc, src/bin/ltl2tgba.cc, src/bin/ltl2tgta.cc,
      src/bin/ltlcross.cc, src/bin/ltldo.cc, src/bin/ltlfilt.cc,
      src/bin/randltl.cc, src/ltlparse/ltlparse.yy,
      src/ltlvisit/Makefile.am, src/ltlvisit/mark.cc,
      src/ltlvisit/relabel.cc, src/ltlvisit/simplify.cc,
      src/ltlvisit/snf.cc, src/ta/taexplicit.cc, src/ta/tgtaexplicit.cc,
      src/taalgos/tgba2ta.cc, src/tests/equalsf.cc, src/tests/ltl2tgba.cc,
      src/tests/ltlrel.cc, src/tests/randtgba.cc, src/tests/reduc.cc,
      src/tests/syntimpl.cc, src/tests/tostring.cc, src/twa/bdddict.cc,
      src/twa/bddprint.cc, src/twa/taatgba.cc, src/twa/taatgba.hh,
      src/twa/twagraph.cc, src/twaalgos/compsusp.cc, src/twaalgos/lbtt.cc,
      src/twaalgos/ltl2taa.cc, src/twaalgos/ltl2tgba_fm.cc,
      src/twaalgos/neverclaim.cc, src/twaalgos/remprop.cc,
      src/twaalgos/stats.cc, wrap/python/ajax/spot.in, wrap/python/spot.py,
      wrap/python/spot_impl.i: Adjust.
      8fb7b279
    • Alexandre Duret-Lutz's avatar
      ltlparse: rename the main functions · 98790f53
      Alexandre Duret-Lutz authored
      parse         -> parse_infix_psl
      parse_lbt     -> parse_prefix_ltl
      parse_sere    -> parse_infix_sere
      parse_boolean -> parse_infix_boolean
      
      Fixes #87.
      
      * src/ltlparse/ltlparse.yy, src/ltlparse/public.hh:
      Do the above changes.
      * doc/mainpage.dox, doc/org/tut01.org, iface/ltsmin/modelcheck.cc,
      src/bin/common_finput.cc, src/hoaparse/hoaparse.yy,
      src/kripkeparse/kripkeparse.yy, 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/kind.cc, src/tests/length.cc, src/tests/ltl2tgba.cc,
      src/tests/ltlprod.cc, src/tests/ltlrel.cc, src/tests/randtgba.cc,
      src/tests/readltl.cc, src/tests/reduc.cc, src/tests/syntimpl.cc,
      src/tests/tostring.cc, wrap/python/ajax/spot.in,
      wrap/python/tests/alarm.py, wrap/python/tests/interdep.py,
      wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltlparse.py: Adjust.
      98790f53
  5. 19 Jan, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      psl: add support for the [:*i..j] operator · a79db4ee
      Alexandre Duret-Lutz authored
      This operator is to ':' what [*i..j] is to ';'.
      
      Part of issue #51.
      
      * doc/tl/tl.tex: Document syntax, semantic, and trivial
      simplifications.
      * doc/tl/spotltl.sty: Add macros for new operators.
      * src/ltlast/bunop.cc, src/ltlast/bunop.hh: Implement it.
      * src/ltlast/multop.cc: Add some trivial simplifications.
      * src/ltlparse/ltlparse.yy, src/ltlparse/ltlscan.ll: Parse it.
      * src/ltltest/equals.test, src/ltltest/latex.test,
      src/tgbatest/ltl2tgba.test: Add more tests.
      * src/ltlvisit/randomltl.cc: Output this operator in
      random PSL formulas.
      * src/ltltest/rand.test: Adjust.
      * src/tgbaalgos/ltl2tgba_fm.cc: Add translation rules.
      * src/ltlvisit/tostring.cc: Add pretty printing code.
      * src/ltlvisit/simplify.cc, src/ltlvisit/snf.cc: Adjust
      switches.
      * NEWS: Mention the new operator.
      a79db4ee
  6. 24 Aug, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      Better formula I/O for ipython. · ae35cc29
      Alexandre Duret-Lutz authored
      * src/ltlparse/public.hh, src/ltlparse/ltlparse.yy,
      src/ltlparse/ltlscan.ll (parse_error): New class.
      (parse_formula): New function that raises a parse_error
      exception on error.
      * src/ltlvisit/tostring.hh, src/ltlvisit/tostring.cc:
      (to_sclatex_string): New method.
      * wrap/python/spot.i: Catch the parser_error exception,
      and use the to_sclatex_string for MathJax rendering.
      * wrap/python/tests/run.in: Start ipython on demand.
      ae35cc29
  7. 12 Feb, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      c++11: replace push(Type(args...)) by emplace(args...) · 49c66c63
      Alexandre Duret-Lutz authored
      This of course concerns push_back and push_front as well.
      
      * src/bin/common_finput.cc, src/bin/dstar2tgba.cc, src/bin/ltl2tgba.cc,
      src/bin/ltl2tgta.cc, src/bin/ltlcross.cc, src/bin/ltlfilt.cc,
      src/dstarparse/dstarparse.yy, src/kripkeparse/kripkeparse.yy,
      src/ltlast/formula.cc, src/ltlparse/ltlparse.yy, src/misc/minato.cc,
      src/neverparse/neverclaimparse.yy, src/priv/bddalloc.cc, src/ta/ta.cc,
      src/taalgos/emptinessta.cc, src/tgba/taatgba.cc,
      src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/sccstack.cc,
      src/tgbaalgos/magic.cc, src/tgbaalgos/ndfs_result.hxx,
      src/tgbaalgos/rundotdec.cc, src/tgbaalgos/scc.cc, src/tgbaalgos/se05.cc,
      src/tgbaalgos/simulation.cc, src/tgbaalgos/tau03.cc,
      src/tgbaalgos/tau03opt.cc, src/tgbaparse/tgbaparse.yy: Use emplace
      to make the code less verbose and avoid creating temporaries.
      49c66c63
  8. 13 Jan, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      ltlparse, eltlparse: avoid unnecessary calls to strlen(). · e2143c03
      Alexandre Duret-Lutz authored
      * src/ltlparse/ltlscan.ll, src/ltlparse/parsedecl.hh (flex_set_buffer):
      Take a std::string as argument and call yy_scan_bytes() with
      the string size() instead of calling yy_scan_string() which does
      strlen() on the supplied string.
      * src/ltlparse/ltlparse.yy: Adjust calls.
      * src/eltlparse/eltlscan.ll, src/eltlparse/parsedecl.hh,
      src/eltlparse/eltlparse.yy: Use a similar interface.  This
      also fixes a memory leak as the scanned buffer was not
      released.
      e2143c03
  9. 30 Sep, 2013 1 commit
    • Alexandre Duret-Lutz's avatar
      Add support for Bison 3.0. · 3c943d83
      Alexandre Duret-Lutz authored
      We still want to remain compatible with Bison 2.7 so instead of fixing
      all the new errors reported by 3.0 we silence some warning.  We should
      fix these for good once Bison 3.0 is more widespread.
      
      * m4/bison.m4: New file. Test if bison support -Wno-empty-rule and
      -Wno-deprecated.  Define BISON and BISON_EXTRA_FLAGS.
      * configure.ac: Do not test for yacc, use the above test instead.
      * src/dstarparse/Makefile.am, src/eltlparse/Makefile.am,
      src/kripkeparse/Makefile.am, src/ltlparse/Makefile.am,
      src/neverparse/Makefile.am, src/tgbaparse/Makefile.am: Use BISON
      and BISON_EXTRA_FLAGS.
      * src/ltlparse/ltlparse.yy: Fix or and remove useless %right/%nonassoc
      settings.
      * src/eltlparse/eltlparse.yy: Likewise, and remove "%pure-parser".
      3c943d83
  10. 29 Jul, 2013 1 commit
    • Alexandre Duret-Lutz's avatar
      Use the same location.hh and position.hh in all parsers. · 8c2d7fcb
      Alexandre Duret-Lutz authored
      * src/misc/location.hh, src/misc/position.hh: New files,
      from Bison 2.7.
      * src/misc/Makefile.am: Distribute them.
      * src/eltlparse/Makefile.am, src/eltlparse/eltlparse.yy,
      src/eltlparse/parsedecl.hh, src/eltlparse/public.hh,
      src/kripkeparse/Makefile.am, src/kripkeparse/kripkeparse.yy,
      src/kripkeparse/parsedecl.hh, src/kripkeparse/public.hh,
      src/ltlparse/Makefile.am, src/ltlparse/fmterror.cc,
      src/ltlparse/ltlparse.yy, src/ltlparse/parsedecl.hh,
      src/ltlparse/public.hh, src/neverparse/Makefile.am,
      src/neverparse/neverclaimparse.yy, src/neverparse/parsedecl.hh,
      src/neverparse/public.hh, src/tgbaparse/Makefile.am,
      src/tgbaparse/parsedecl.hh, src/tgbaparse/public.hh,
      src/tgbaparse/tgbaparse.yy: Adjust to use and include
      misc/location.hh.
      * NEWS: Mention this change.
      8c2d7fcb
  11. 20 Oct, 2012 1 commit
  12. 18 Oct, 2012 1 commit
  13. 17 Oct, 2012 1 commit
    • Alexandre Duret-Lutz's avatar
      ltlparse: add a lenient parsing mode · 86dac4aa
      Alexandre Duret-Lutz authored
      Spin 6 supports formulas such as []<>(a < b) so that atomic properties
      need not be specified using #define.  Of course we don't want to
      implement all the syntax of Spin in our LTL parser because other tools
      may have different syntaxes for their atomic propositions.  The
      lenient mode tells the scanner to return any (...), {...}, or {...}!
      block as a single token.  The parser will try to recursively parse
      this block as a LTL/SERE formula, and if this fails, it will consider
      the block to be an atomic proposition.  The drawback is that most
      syntax errors will no be considered to be atomic propositions.  For
      instance (a U b U) is a single atomic proposition in lenient mode, and
      a syntax error in default mode.
      
      * src/ltlparse/ltlparse.yy, src/ltlparse/ltlscan.ll,
      src/ltlparse/parsedecl.hh, src/ltlparse/public.hh: Add a
      lenient parsing mode.  Simplify the lexer using yy_scan_string.
      * src/bin/common_finput.cc: Add a --lenient option.
      * src/ltltest/lenient.test: New file.
      * src/ltltest/Makefile.am: Add it.
      * src/neverparse/neverclaimparse.yy: Parse the guards in lenient mode.
      * src/tgbatest/neverclaimread.test: Adjust.
      * src/ltlvisit/tostring.cc: When outputing a formula in Spin's syntax,
      output (a < b) instead of "a < b".
      * src/misc/escape.cc, src/misc/escape.hh (trim): New helper function.
      86dac4aa
  14. 12 Oct, 2012 1 commit
    • Alexandre Duret-Lutz's avatar
      Upgrade GPL v2+ to GPL v3+. · 1551c5d9
      Alexandre Duret-Lutz authored
      * NEWS: Mention this.
      * COPYING: Replace by GPL v3.
      * src/sanity/style.test: Check files with the wrong license,
      in case we forgot to update it during a merge.
      * Makefile.am, bench/Makefile.am, bench/emptchk/Makefile.am,
      bench/emptchk/defs.in, bench/emptchk/ltl-human.sh,
      bench/emptchk/ltl-random.sh, bench/emptchk/pml-clserv.sh,
      bench/emptchk/pml-eeaean.sh, bench/emptchk/pml2tgba.pl,
      bench/ltl2tgba/big, bench/ltl2tgba/defs.in, bench/ltl2tgba/known,
      bench/ltl2tgba/lbtt2csv.pl, bench/ltl2tgba/ltl2baw.in,
      bench/ltl2tgba/parseout.pl, bench/ltl2tgba/small,
      bench/ltlclasses/Makefile.am, bench/ltlclasses/defs.in,
      bench/ltlclasses/run, bench/ltlcounter/Makefile.am,
      bench/ltlcounter/defs.in, bench/ltlcounter/run,
      bench/scc-stats/Makefile.am, bench/scc-stats/stats.cc,
      bench/split-product/Makefile.am, bench/split-product/cutscc.cc,
      bench/split-product/pml2tgba.pl, bench/wdba/Makefile.am,
      bench/wdba/defs.in, bench/wdba/run, configure.ac, doc/Makefile.am,
      doc/dot.in, doc/tl/Makefile.am, iface/Makefile.am,
      iface/dve2/Makefile.am, iface/dve2/defs.in, iface/dve2/dve2.cc,
      iface/dve2/dve2.hh, iface/dve2/dve2check.cc,
      iface/dve2/dve2check.test, iface/dve2/finite.test,
      iface/dve2/kripke.test, iface/gspn/Makefile.am, iface/gspn/common.cc,
      iface/gspn/common.hh, iface/gspn/dcswave.test,
      iface/gspn/dcswaveeltl.test, iface/gspn/dcswavefm.test,
      iface/gspn/dcswaveltl.test, iface/gspn/dottygspn.cc,
      iface/gspn/dottyssp.cc, iface/gspn/gspn.cc, iface/gspn/gspn.hh,
      iface/gspn/ltlgspn.cc, iface/gspn/simple.test, iface/gspn/ssp.cc,
      iface/gspn/ssp.hh, iface/gspn/udcsefm.test, iface/gspn/udcseltl.test,
      iface/gspn/udcsfm.test, iface/gspn/udcsltl.test, src/Makefile.am,
      src/bin/Makefile.am, src/bin/common_cout.cc, src/bin/common_cout.hh,
      src/bin/common_finput.cc, src/bin/common_finput.hh,
      src/bin/common_output.cc, src/bin/common_output.hh,
      src/bin/common_post.cc, src/bin/common_post.hh, src/bin/common_r.cc,
      src/bin/common_r.hh, src/bin/common_range.cc, src/bin/common_range.hh,
      src/bin/common_setup.cc, src/bin/common_setup.hh,
      src/bin/common_sys.hh, src/bin/genltl.cc, src/bin/ltl2tgba.cc,
      src/bin/ltl2tgta.cc, src/bin/ltlfilt.cc, src/bin/man/Makefile.am,
      src/bin/randltl.cc, src/eltlparse/Makefile.am,
      src/eltlparse/eltlparse.yy, src/eltlparse/eltlscan.ll,
      src/eltlparse/fmterror.cc, src/eltlparse/parsedecl.hh,
      src/eltlparse/public.hh, src/eltltest/Makefile.am,
      src/eltltest/acc.cc, src/eltltest/acc.test, src/eltltest/defs.in,
      src/eltltest/nfa.cc, src/eltltest/nfa.test, src/evtgba/Makefile.am,
      src/evtgba/evtgba.cc, src/evtgba/evtgba.hh, src/evtgba/evtgbaiter.hh,
      src/evtgba/explicit.cc, src/evtgba/explicit.hh, src/evtgba/product.cc,
      src/evtgba/product.hh, src/evtgba/symbol.cc, src/evtgba/symbol.hh,
      src/evtgbaalgos/Makefile.am, src/evtgbaalgos/dotty.cc,
      src/evtgbaalgos/dotty.hh, src/evtgbaalgos/reachiter.cc,
      src/evtgbaalgos/reachiter.hh, src/evtgbaalgos/save.cc,
      src/evtgbaalgos/save.hh, src/evtgbaalgos/tgba2evtgba.cc,
      src/evtgbaalgos/tgba2evtgba.hh, src/evtgbaparse/Makefile.am,
      src/evtgbaparse/evtgbaparse.yy, src/evtgbaparse/evtgbascan.ll,
      src/evtgbaparse/fmterror.cc, src/evtgbaparse/parsedecl.hh,
      src/evtgbaparse/public.hh, src/evtgbatest/Makefile.am,
      src/evtgbatest/defs.in, src/evtgbatest/explicit.cc,
      src/evtgbatest/explicit.test, src/evtgbatest/ltl2evtgba.cc,
      src/evtgbatest/ltl2evtgba.test, src/evtgbatest/product.cc,
      src/evtgbatest/product.test, src/evtgbatest/readsave.cc,
      src/evtgbatest/readsave.test, src/kripke/Makefile.am,
      src/kripke/fairkripke.cc, src/kripke/fairkripke.hh,
      src/kripke/kripke.cc, src/kripke/kripke.hh,
      src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh,
      src/kripke/kripkeprint.cc, src/kripke/kripkeprint.hh,
      src/kripkeparse/Makefile.am, src/kripkeparse/fmterror.cc,
      src/kripkeparse/kripkeparse.yy, src/kripkeparse/kripkescan.ll,
      src/kripkeparse/parsedecl.hh, src/kripkeparse/public.hh,
      src/kripkeparse/scankripke.ll, src/kripketest/Makefile.am,
      src/kripketest/bad_parsing.test, src/kripketest/defs.in,
      src/kripketest/kripke.test, src/kripketest/parse_print_test.cc,
      src/ltlast/Makefile.am, src/ltlast/allnodes.hh,
      src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh,
      src/ltlast/automatop.cc, src/ltlast/automatop.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/formula.cc,
      src/ltlast/formula.hh, src/ltlast/formula_tree.cc,
      src/ltlast/formula_tree.hh, src/ltlast/multop.cc,
      src/ltlast/multop.hh, src/ltlast/nfa.cc, src/ltlast/nfa.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/declenv.cc,
      src/ltlenv/declenv.hh, src/ltlenv/defaultenv.cc,
      src/ltlenv/defaultenv.hh, src/ltlenv/environment.hh,
      src/ltlparse/Makefile.am, src/ltlparse/fmterror.cc,
      src/ltlparse/ltlfile.cc, src/ltlparse/ltlfile.hh,
      src/ltlparse/ltlparse.yy, src/ltlparse/ltlscan.ll,
      src/ltlparse/parsedecl.hh, src/ltlparse/public.hh,
      src/ltltest/Makefile.am, src/ltltest/consterm.cc,
      src/ltltest/consterm.test, src/ltltest/defs.in, src/ltltest/equals.cc,
      src/ltltest/equals.test, src/ltltest/kind.cc, src/ltltest/kind.test,
      src/ltltest/length.cc, src/ltltest/length.test,
      src/ltltest/lunabbrev.test, src/ltltest/nenoform.test,
      src/ltltest/parse.test, src/ltltest/parseerr.test,
      src/ltltest/readltl.cc, src/ltltest/reduc.cc, src/ltltest/reduc.test,
      src/ltltest/reduccmp.test, src/ltltest/reducpsl.test,
      src/ltltest/syntimpl.cc, src/ltltest/syntimpl.test,
      src/ltltest/tostring.cc, src/ltltest/tostring.test,
      src/ltltest/tunabbrev.test, src/ltltest/tunenoform.test,
      src/ltltest/utf8.test, src/ltltest/uwrm.test,
      src/ltlvisit/Makefile.am, src/ltlvisit/apcollect.cc,
      src/ltlvisit/apcollect.hh, src/ltlvisit/clone.cc,
      src/ltlvisit/clone.hh, src/ltlvisit/contain.cc,
      src/ltlvisit/contain.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/lbt.cc,
      src/ltlvisit/lbt.hh, src/ltlvisit/length.cc, src/ltlvisit/length.hh,
      src/ltlvisit/lunabbrev.cc, src/ltlvisit/lunabbrev.hh,
      src/ltlvisit/mark.cc, src/ltlvisit/mark.hh, src/ltlvisit/nenoform.cc,
      src/ltlvisit/nenoform.hh, src/ltlvisit/postfix.cc,
      src/ltlvisit/postfix.hh, src/ltlvisit/randomltl.cc,
      src/ltlvisit/randomltl.hh, src/ltlvisit/reduce.cc,
      src/ltlvisit/reduce.hh, src/ltlvisit/relabel.cc,
      src/ltlvisit/relabel.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/tostring.cc, src/ltlvisit/tostring.hh,
      src/ltlvisit/tunabbrev.cc, src/ltlvisit/tunabbrev.hh,
      src/ltlvisit/wmunabbrev.cc, src/ltlvisit/wmunabbrev.hh,
      src/misc/Makefile.am, src/misc/acccompl.cc, src/misc/acccompl.hh,
      src/misc/accconv.cc, src/misc/accconv.hh, src/misc/bareword.cc,
      src/misc/bareword.hh, src/misc/bddalloc.cc, src/misc/bddalloc.hh,
      src/misc/bddlt.hh, src/misc/bddop.cc, src/misc/bddop.hh,
      src/misc/casts.hh, src/misc/escape.cc, src/misc/escape.hh,
      src/misc/fixpool.hh, src/misc/freelist.cc, src/misc/freelist.hh,
      src/misc/hash.hh, src/misc/hashfunc.hh, src/misc/intvcmp2.cc,
      src/misc/intvcmp2.hh, src/misc/intvcomp.cc, src/misc/intvcomp.hh,
      src/misc/ltstr.hh, src/misc/memusage.cc, src/misc/memusage.hh,
      src/misc/minato.cc, src/misc/minato.hh, src/misc/modgray.cc,
      src/misc/modgray.hh, src/misc/mspool.hh, src/misc/optionmap.cc,
      src/misc/optionmap.hh, src/misc/random.cc, src/misc/random.hh,
      src/misc/timer.cc, src/misc/timer.hh, src/misc/unique_ptr.hh,
      src/misc/version.cc, src/misc/version.hh, src/neverparse/Makefile.am,
      src/neverparse/fmterror.cc, src/neverparse/neverclaimparse.yy,
      src/neverparse/neverclaimscan.ll, src/neverparse/parsedecl.hh,
      src/neverparse/public.hh, src/saba/Makefile.am,
      src/saba/explicitstateconjunction.cc,
      src/saba/explicitstateconjunction.hh, src/saba/saba.cc,
      src/saba/saba.hh, src/saba/sabacomplementtgba.cc,
      src/saba/sabacomplementtgba.hh, src/saba/sabastate.hh,
      src/saba/sabasucciter.hh, src/sabaalgos/Makefile.am,
      src/sabaalgos/sabadotty.cc, src/sabaalgos/sabadotty.hh,
      src/sabaalgos/sabareachiter.cc, src/sabaalgos/sabareachiter.hh,
      src/sabatest/Makefile.am, src/sabatest/defs.in,
      src/sabatest/sabacomplementtgba.cc, src/sanity/Makefile.am,
      src/sanity/readme.test, src/sanity/style.test, src/ta/Makefile.am,
      src/ta/ta.cc, src/ta/ta.hh, src/ta/taexplicit.cc,
      src/ta/taexplicit.hh, src/ta/taproduct.cc, src/ta/taproduct.hh,
      src/ta/tgta.cc, src/ta/tgta.hh, src/ta/tgtaexplicit.cc,
      src/ta/tgtaexplicit.hh, src/ta/tgtaproduct.cc, src/ta/tgtaproduct.hh,
      src/taalgos/Makefile.am, src/taalgos/dotty.cc, src/taalgos/dotty.hh,
      src/taalgos/emptinessta.cc, src/taalgos/emptinessta.hh,
      src/taalgos/minimize.cc, src/taalgos/minimize.hh,
      src/taalgos/reachiter.cc, src/taalgos/reachiter.hh,
      src/taalgos/statessetbuilder.cc, src/taalgos/statessetbuilder.hh,
      src/taalgos/stats.cc, src/taalgos/stats.hh, src/taalgos/tgba2ta.cc,
      src/taalgos/tgba2ta.hh, src/tgba/Makefile.am, 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/futurecondcol.cc, src/tgba/futurecondcol.hh,
      src/tgba/public.hh, src/tgba/sba.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/taatgba.cc, src/tgba/taatgba.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/tgbakvcomplement.cc, src/tgba/tgbakvcomplement.hh,
      src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasafracomplement.hh,
      src/tgba/tgbascc.cc, src/tgba/tgbascc.hh, src/tgba/tgbasgba.cc,
      src/tgba/tgbasgba.hh, src/tgba/tgbatba.cc, src/tgba/tgbatba.hh,
      src/tgba/tgbaunion.cc, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.cc,
      src/tgba/wdbacomp.hh, src/tgbaalgos/Makefile.am,
      src/tgbaalgos/bfssteps.cc, src/tgbaalgos/bfssteps.hh,
      src/tgbaalgos/cutscc.cc, src/tgbaalgos/cutscc.hh,
      src/tgbaalgos/cycles.cc, src/tgbaalgos/cycles.hh,
      src/tgbaalgos/degen.cc, src/tgbaalgos/degen.hh,
      src/tgbaalgos/dotty.cc, src/tgbaalgos/dotty.hh,
      src/tgbaalgos/dottydec.cc, src/tgbaalgos/dottydec.hh,
      src/tgbaalgos/dupexp.cc, src/tgbaalgos/dupexp.hh,
      src/tgbaalgos/eltl2tgba_lacim.cc, src/tgbaalgos/eltl2tgba_lacim.hh,
      src/tgbaalgos/emptiness.cc, src/tgbaalgos/emptiness.hh,
      src/tgbaalgos/emptiness_stats.hh, src/tgbaalgos/gtec/Makefile.am,
      src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/gtec/ce.hh,
      src/tgbaalgos/gtec/explscc.cc, src/tgbaalgos/gtec/explscc.hh,
      src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh,
      src/tgbaalgos/gtec/nsheap.cc, src/tgbaalgos/gtec/nsheap.hh,
      src/tgbaalgos/gtec/sccstack.cc, src/tgbaalgos/gtec/sccstack.hh,
      src/tgbaalgos/gtec/status.cc, src/tgbaalgos/gtec/status.hh,
      src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh, src/tgbaalgos/isdet.cc,
      src/tgbaalgos/isdet.hh, src/tgbaalgos/isweakscc.cc,
      src/tgbaalgos/isweakscc.hh, src/tgbaalgos/lbtt.cc,
      src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2taa.cc,
      src/tgbaalgos/ltl2taa.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/minimize.cc,
      src/tgbaalgos/minimize.hh, src/tgbaalgos/ndfs_result.hxx,
      src/tgbaalgos/neverclaim.cc, src/tgbaalgos/neverclaim.hh,
      src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh,
      src/tgbaalgos/powerset.cc, src/tgbaalgos/powerset.hh,
      src/tgbaalgos/projrun.cc, src/tgbaalgos/projrun.hh,
      src/tgbaalgos/randomgraph.cc, src/tgbaalgos/randomgraph.hh,
      src/tgbaalgos/reachiter.cc, src/tgbaalgos/reachiter.hh,
      src/tgbaalgos/reducerun.cc, src/tgbaalgos/reducerun.hh,
      src/tgbaalgos/reductgba_sim.cc, src/tgbaalgos/reductgba_sim.hh,
      src/tgbaalgos/replayrun.cc, src/tgbaalgos/replayrun.hh,
      src/tgbaalgos/rundotdec.cc, src/tgbaalgos/rundotdec.hh,
      src/tgbaalgos/safety.cc, src/tgbaalgos/safety.hh,
      src/tgbaalgos/save.cc, src/tgbaalgos/save.hh, src/tgbaalgos/scc.cc,
      src/tgbaalgos/scc.hh, src/tgbaalgos/sccfilter.cc,
      src/tgbaalgos/sccfilter.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/tau03.cc,
      src/tgbaalgos/tau03.hh, src/tgbaalgos/tau03opt.cc,
      src/tgbaalgos/tau03opt.hh, src/tgbaalgos/weight.cc,
      src/tgbaalgos/weight.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/babiak.test, src/tgbatest/bddprod.test,
      src/tgbatest/complementation.cc, src/tgbatest/complementation.test,
      src/tgbatest/cycles.test, src/tgbatest/defs.in,
      src/tgbatest/degendet.test, src/tgbatest/degenid.test,
      src/tgbatest/dfs.test, src/tgbatest/dupexp.test,
      src/tgbatest/eltl2tgba.test, src/tgbatest/emptchk.test,
      src/tgbatest/emptchke.test, src/tgbatest/emptchkr.test,
      src/tgbatest/explicit.cc, src/tgbatest/explicit.test,
      src/tgbatest/explicit2.cc, src/tgbatest/explicit2.test,
      src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
      src/tgbatest/explpro4.test, src/tgbatest/explprod.cc,
      src/tgbatest/explprod.test, src/tgbatest/intvcmp2.cc,
      src/tgbatest/intvcomp.cc, src/tgbatest/intvcomp.test,
      src/tgbatest/kv.test, src/tgbatest/ltl2neverclaim.test,
      src/tgbatest/ltl2ta.test, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/ltl2tgba.test, src/tgbatest/ltlcounter.test,
      src/tgbatest/ltlprod.cc, src/tgbatest/ltlprod.test,
      src/tgbatest/mixprod.cc, src/tgbatest/mixprod.test,
      src/tgbatest/neverclaimread.test, src/tgbatest/nondet.test,
      src/tgbatest/obligation.test, src/tgbatest/powerset.cc,
      src/tgbatest/randpsl.test, src/tgbatest/randtgba.cc,
      src/tgbatest/randtgba.test, src/tgbatest/readsave.test,
      src/tgbatest/renault.test, src/tgbatest/scc.test,
      src/tgbatest/sccsimpl.test, src/tgbatest/spotlbtt.test,
      src/tgbatest/spotlbtt2.test, src/tgbatest/taatgba.cc,
      src/tgbatest/taatgba.test, src/tgbatest/tgbaread.cc,
      src/tgbatest/tgbaread.test, src/tgbatest/tripprod.cc,
      src/tgbatest/tripprod.test, src/tgbatest/wdba.test,
      src/tgbatest/wdba2.test, wrap/Makefile.am, wrap/python/Makefile.am,
      wrap/python/ajax/Makefile.am, wrap/python/ajax/spot.in,
      wrap/python/buddy.i, wrap/python/spot.i,
      wrap/python/tests/Makefile.am, wrap/python/tests/alarm.py,
      wrap/python/tests/bddnqueen.py, wrap/python/tests/implies.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/minato.py,
      wrap/python/tests/modgray.py, wrap/python/tests/optionmap.py,
      wrap/python/tests/parsetgba.py, wrap/python/tests/run.in,
      wrap/python/tests/setxor.py: Update licence version, and replace the
      FSF address by a URL.
      1551c5d9
  15. 14 Sep, 2012 1 commit
  16. 29 Aug, 2012 1 commit
    • Alexandre Duret-Lutz's avatar
      Add back the '*' syntax for And. · 5939d6f4
      Alexandre Duret-Lutz authored
      This somehow revert changes from 2010-01-30 which killed this use of
      star to make room for the Kleen star.  Here we only allow '*' in the
      temporal formula, so that it can still be the Kleen star in SERE.  The
      motivation for '*' available as And is better compatibility with Wring
      and VIS.
      
      * src/ltlparse/ltlscan.ll: Distinguish * from [*].
      * src/ltlparse/ltlparse.yy: Allows * to be used as AND between
      temporal formulae.
      * src/ltltest/equals.test, src/ltltest/parse.test: Add a few
      tests.
      * doc/tl/tl.tex: Document it.
      5939d6f4
  17. 20 Jun, 2012 1 commit
    • Alexandre Duret-Lutz's avatar
      LTL parser: better error recovery. · 0c1fec12
      Alexandre Duret-Lutz authored
      * src/ltlparse/ltlparse.yy: Keep the left operand of binary operator,
      if the right one is erroneous.  Also keep the sane beginning of
      parenthesized blocks.
      * src/ltltest/parseerr.test: Adjust test cases.
      * NEWS: Mention it.
      0c1fec12
  18. 10 May, 2012 1 commit
  19. 02 May, 2012 1 commit
    • Alexandre Duret-Lutz's avatar
      Use 'const formula*' instead of 'formula*' everywhere. · bf62d439
      Alexandre Duret-Lutz authored
      The distinction makes no sense since Spot 0.5, where we switched from
      mutable furmulae to immutable formulae.  The difference between
      const_visitor and visitor made no sense either.  They have been merged
      into one: visitor.
      
      * iface/dve2/dve2check.cc, iface/gspn/ltlgspn.cc,
      src/eltlparse/eltlparse.yy, src/eltlparse/public.hh,
      src/evtgbatest/ltl2evtgba.cc, src/kripkeparse/kripkeparse.yy,
      src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh,
      src/ltlast/automatop.cc, src/ltlast/automatop.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/formula.cc,
      src/ltlast/formula.hh, src/ltlast/formula_tree.cc,
      src/ltlast/formula_tree.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/declenv.cc, src/ltlenv/declenv.hh,
      src/ltlenv/defaultenv.cc, src/ltlenv/defaultenv.hh,
      src/ltlenv/environment.hh, src/ltlparse/ltlfile.cc,
      src/ltlparse/ltlfile.hh, src/ltlparse/ltlparse.yy,
      src/ltlparse/public.hh, src/ltltest/consterm.cc,
      src/ltltest/equals.cc, src/ltltest/genltl.cc, src/ltltest/kind.cc,
      src/ltltest/length.cc, src/ltltest/randltl.cc, src/ltltest/readltl.cc,
      src/ltltest/reduc.cc, src/ltltest/syntimpl.cc,
      src/ltltest/tostring.cc, src/ltlvisit/apcollect.cc,
      src/ltlvisit/apcollect.hh, src/ltlvisit/clone.cc,
      src/ltlvisit/clone.hh, src/ltlvisit/contain.cc,
      src/ltlvisit/contain.hh, src/ltlvisit/dotty.cc,
      src/ltlvisit/length.cc, src/ltlvisit/lunabbrev.cc,
      src/ltlvisit/lunabbrev.hh, src/ltlvisit/mark.cc, src/ltlvisit/mark.hh,
      src/ltlvisit/nenoform.cc, src/ltlvisit/nenoform.hh,
      src/ltlvisit/postfix.cc, src/ltlvisit/postfix.hh,
      src/ltlvisit/randomltl.cc, src/ltlvisit/randomltl.hh,
      src/ltlvisit/reduce.cc, src/ltlvisit/reduce.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/tostring.cc,
      src/ltlvisit/tunabbrev.cc, src/ltlvisit/tunabbrev.hh,
      src/ltlvisit/wmunabbrev.cc, src/ltlvisit/wmunabbrev.hh,
      src/neverparse/neverclaimparse.yy, src/sabatest/sabacomplementtgba.cc,
      src/tgba/bdddict.cc, src/tgba/formula2bdd.cc, src/tgba/taatgba.cc,
      src/tgba/taatgba.hh, src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_lacim.cc, src/tgbaalgos/minimize.cc,
      src/tgbaalgos/randomgraph.cc, src/tgbaparse/tgbaparse.yy,
      src/tgbatest/complementation.cc, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/ltlprod.cc, src/tgbatest/mixprod.cc,
      src/tgbatest/randtgba.cc: Massive adjustment!
      * src/tgbatest/reductgba.cc: Delete.
      bf62d439
  20. 30 Apr, 2012 1 commit
  21. 28 Apr, 2012 18 commits
    • Alexandre Duret-Lutz's avatar
      Introduce AndRat and OrRat operator. · 691119c1
      Alexandre Duret-Lutz authored
      It was a mistake to try to overload And/Or LTL operator for these when
      trivial simplification are performed.  The reason is so simple it is
      embarassing: And(f,1)=f is a trivial identity that should not be
      applied with AndRat.  E.g. AndRat(a;b, 1) is equal to 0, not a;b.
      
      * src/ltlast/multop.hh, src/ltlast/multop.cc: Add the AndRat and OrRat
      operators.
      * src/ltlparse/ltlparse.yy: Build them.
      * src/ltlvisit/mark.cc, src/ltlvisit/simplify.cc,
      src/ltlvisit/tostring.cc, src/tgba/formula2bdd.cc,
      src/tgbaalgos/eltl2tgba_lacim.cc, src/tgbaalgos/ltl2taa.cc,
      src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_lacim.cc:
      Adjust all switches.
      691119c1
    • Alexandre Duret-Lutz's avatar
      Implement [->i..j] and [=i..j] as sugar with [*i..j]. · 210723e3
      Alexandre Duret-Lutz authored
      * src/ltlast/bunop.hh, src/ltlast/bunop.cc (sugar_goto, sugar_equal):
      New functions..
      * src/ltlparse/ltlparse.yy: Use them.
      210723e3
    • Alexandre Duret-Lutz's avatar
      Replace reference to RATEXP in the parser, by reference to SERE. · fa44383e
      Alexandre Duret-Lutz authored
      * src/ltlparse/ltlparse.yy: Cleanup the names used in the grammar.
      * src/ltlparse/public.hh (parse_ratexp): Rename as...
      (parse_sere): ... this.
      * src/ltltest/consterm.cc: Adjust call to parse_ratexp().
      fa44383e
    • Alexandre Duret-Lutz's avatar
      Diagnose reversed ranges like [=2..1], [->..0] or [*8..4]. · 2f9f274a
      Alexandre Duret-Lutz authored
      * src/ltlparse/ltlparse.yy: Diagnose them.
      * src/ltltest/parseerr.test: Add tests.
      2f9f274a
    • Alexandre Duret-Lutz's avatar
      Add support for the {SERE}! PSL operator. · fdd73d51
      Alexandre Duret-Lutz authored
      * src/ltlparse/ltlscan.ll: Recognize }!.  Also remove
      five duplicate rules.
      * src/ltlparse/ltlparse.yy: Build {r}<>->1 when parsing {r}!.
      * src/ltlvisit/tostring.cc: Print {r}! instead of {r}<>->1.
      * src/ltltest/tostring.test, src/ltltest/equals.test:
      Add more tests.
      fdd73d51
    • Alexandre Duret-Lutz's avatar
      Relax usage of ->, <->, and xor in SERE. · eab91aab
      Alexandre Duret-Lutz authored
      * src/ltlparse/ltlparse.yy (rationalexp): Allow ->, <->, and xor,
      in rational expressions as long as they apply only to Boolean
      formulae.
      * src/tgbaalgos/ltl2tgba_fm.cc (ratexp_trad_visitor): Adjust
      assert in handling of unop::Not.
      eab91aab
    • Alexandre Duret-Lutz's avatar
      Maintain basic LTL properties using a bitfield inside formula objects. · 546260e7
      Alexandre Duret-Lutz authored
      This bitfield is easily updated as the formulae are constructed.
      Doing so avoids many AST recursions to compute these properties
      individually.  This patch removes the eventual_universal_visitor,
      as well as the kind_of() function.
      
      * src/ltlast/formula.hh (is_boolean, is_sugar_free_boolean,
      is_in_nenoform, is_X_free, is_sugar_free_ltl,
      is_ltl_formula, is_eltl_formula, is_psl_formula, is_eventual,
      is_universal, is_marked): New methods to query formula
      properties in constant time.
      (get_props, ltl_prop): A method and structure for
      implementation as a field bit in an unsigned, for fast
      computation.
      (print_formula_props): New function.
      * src/ltlast/formula.cc (print_formula_props): Implement it.
      * src/ltlast/atomic_prop.cc, src/ltlast/binop.cc,
      src/ltlast/bunop.cc, src/ltlast/constant.cc, src/ltlast/multop.cc,
      src/ltlast/unop.cc, src/ltlast/automatop.cc: Compute the
      properties as instances are constructed.
      * src/ltlparse/ltlparse.yy: Update to use is_boolean() instead
      of kind_of().
      * src/ltltest/kind.cc: Update to use print_formula_props().
      * src/ltltest/kind.test: Adjust to test eventual and universal
      properties.
      * src/ltlvisit/kind.cc, src/ltlvisit/kind.hh: Delete these files.
      * src/ltlvisit/Makefile.am: Remove kind.hh and kind.cc.
      * src/ltlvisit/reduce.cc (recurse_eu, eventual_universal_visitor):
      Remove, no longer needed.
      (reduce_visitor, is_eventual, is_universal): Adjust to
      use formula::is_eventual(), and formula::is_universal().
      * src/ltlvisit/reduce.hh (is_eventual, is_universal): Declare as
      deprecated.
      546260e7
    • Alexandre Duret-Lutz's avatar
      Accept more syntaxes as range specifications for [*], [=], and [->]. · 754ff36b
      Alexandre Duret-Lutz authored
      * src/ltlparse/ltlscan.ll (OP_SQBKT_SEP): Accept ":" and "to"
      in addition to ".." and ",".
      (OP_UNBOUNDED): Recognize "$" for the rule below.
      * src/ltlparse/ltlparse.yy: Accept [OP1:$] as a synonym
      for [OP1:], for people used to SVA's syntax.
      * src/ltltest/equals.test: Test these syntaxes.
      754ff36b
    • Alexandre Duret-Lutz's avatar
      Introduce [->min..max] operator. · da74b4f1
      Alexandre Duret-Lutz authored
      * src/ltlast/bunop.hh: Declare bunop::Goto
      * src/ltlast/bunop.cc: Handle it.
      * src/ltlparse/ltlparse.yy,
      src/ltlparse/ltlscan.ll: Add rules for [->min..max].
      * src/tgbaalgos/ltl2tgba_fm.cc: Handle bunop::Goto in
      the translation.
      * src/ltltest/equals.test: Test trivial identities.
      * src/tgbatest/ltl2tgba.test: Test two more formulae using [->].
      da74b4f1
    • Alexandre Duret-Lutz's avatar
      Introduce [=min..max] operator. · 8d4a413a
      Alexandre Duret-Lutz authored
      * src/ltlast/bunop.hh: Declare bunop::Equal
      * src/ltlast/bunop.cc: Handle it.
      * src/ltlparse/ltlparse.yy,
      src/ltlparse/ltlscan.ll: Add rules for [=min..max].
      * src/tgbaalgos/ltl2tgba_fm.cc: Handle bunop::Equal in
      the translation.
      * src/ltltest/equals.test: Test trivial identities
      for [=min..max].
      * src/tgbatest/ltl2tgba.test: Add new formulae to test.
      8d4a413a
    • Alexandre Duret-Lutz's avatar
      Add support for [+]. · 567b4607
      Alexandre Duret-Lutz authored
      * src/ltlast/bunop.cc (bunop::format): Output [*1..] as [+].
      * src/ltlvisit/tostring.cc: Output "a*" as "a[*]" for consistency.
      * src/ltlparse/ltlparse.yy, src/ltlparse/ltlscan.ll: Recognize [+].
      * src/ltltest/tostring.test, src/ltltest/equals.test,
      src/tgbatest/ltl2tgba.test: More tests.
      567b4607
    • Alexandre Duret-Lutz's avatar
      Add support the bounded star operator [*i..j]. · 126b724a
      Alexandre Duret-Lutz authored
      * src/ltlast/bunop.hh, src/ltlast/bunop.cc: New files for
      bounded unary operators.
      * src/ltlast/Makefile.am, src/ltlast/allnodes.hh: Add them.
      * src/ltlast/predecl.hh (bunop): Declare.
      * src/ltlast/unop.hh, src/ltlast/unop.cc (Star): Remove
      declaration of Star and associated code.
      * src/ltlast/visitor.hh: Add visit(bunop* node) methods.
      * src/ltlparse/ltlparse.yy, src/ltlparse/ltlscan.ll: Add parse
      rules for LTL.  This required passing the parse_error list
      to the lexer, so it can report scanning errors when it reads
      a number that does not fit in an unsigned int.
      * src/ltlparse/parsedecl.hh (YY_DECL): Take error_list
      as third argument.
      * src/ltltest/consterm.test, src/ltltest/tostring.test,
      src/ltltest/equals.test, src/tgbatest/ltl2tgba.test: More tests.
      * src/ltlvisit/basicreduce.cc, src/ltlvisit/clone.cc,
      src/ltlvisit/clone.hh, src/ltlvisit/consterm.cc,
      src/ltlvisit/dotty.cc, src/ltlvisit/mark.cc,
      src/ltlvisit/nenoform.cc, src/ltlvisit/postfix.cc,
      src/ltlvisit/postfix.hh, src/ltlvisit/reduce.cc,
      src/ltlvisit/syntimpl.cc, src/ltlvisit/tostring.cc,
      src/ltlvisit/tunabbrev.cc, src/tgba/formula2bdd.cc,
      src/tgbaalgos/eltl2tgba_lacim.cc, src/tgbaalgos/ltl2taa.cc,
      src/tgbaalgos/ltl2tgba_lacim.cc: Adjust syntax to use
      "bunop::Star" instead of "unop::Star".
      * src/tgbaalgos/ltl2tgba_fm.cc: Likewise, but also adjust
      the code to handle the bounds of the operator.
      126b724a
    • Alexandre Duret-Lutz's avatar
      Recognize and use "*" (or "[*]") as an abbreviation for 1*. · 93c042d0
      Alexandre Duret-Lutz authored
      * src/ltlparse/ltlparse.yy: Recognize "*" as "1*".
      * src/ltlvisit/tostring.cc: Abbreviate "1*" as "*".
      * src/tgbatest/ltl2tgba.test: Use the new syntax.
      93c042d0
    • Alexandre Duret-Lutz's avatar
      Support non-overlapping concatenations operators []=> and <>=>. · 4bde130d
      Alexandre Duret-Lutz authored
      * src/ltlparse/ltlscan.ll: Recognize "[]=>" (a.k.a "|=>") and "<>=>".
      * src/ltlparse/ltlparse.yy: Support them by rewriting them using
      "[]->" and "<>->".
      * src/tgbatest/ltl2tgba.test: More tests.
      4bde130d
    • Alexandre Duret-Lutz's avatar
      Allow boolean atoms to be negated in rational expressions. · 4aa82ec7
      Alexandre Duret-Lutz authored
      * src/ltlparse/ltlparse.yy (rationalexp): Recognize "OP_NOT
      booleanatom".
      * src/ltlvisit/consterm.cc, src/tgbaalgos/ltl2tgba_fm.cc: Adjust.
      * src/tgbatest/ltl2tgba.test: Add one test.
      4aa82ec7
    • Alexandre Duret-Lutz's avatar
      Add support for PSL's non-length-matching And. · bbb645e1
      Alexandre Duret-Lutz authored
      * src/ltlast/multop.cc, src/ltlast/multop.hh: Declare AndNML
      operator.
      * src/ltlparse/ltlscan.ll: Distinguish "&" and "&&".
      * src/ltlparse/ltlparse.yy: Handle them both as "And" for LTL
      formula, use AndNML or And for rational expressions.
      * src/ltlvisit/tostring.cc: Adjust to distinguish "&" and "&&" in
      rational expressions. Also use {braces} to group rational
      expressions.
      * src/tgbaalgos/ltl2tgba_fm.cc
      (ratexp_trad_visitor::ratexp_trad_visitor): Remove the possibility
      to select the empty_word should act like true, and fix the rules
      for Closure and NegClosure to rely on constant_term instead.
      (ratexp_trad_visitor::visit) Adjust the And translation to also
      support AndNML.
      (ratexp_trad_visitor::recurse_and_concat): Introduce this new
      method to simplify some calls to recurse(f, to_concat_).
      * src/tgbatest/ltl2tgba.test: Add more test cases.
      * src/ltlvisit/basicreduce.cc, src/ltlvisit/consterm.cc,
      src/ltlvisit/contain.cc, src/ltlvisit/mark.cc,
      src/ltlvisit/nenoform.cc, src/ltlvisit/syntimpl.cc,
      src/tgba/formula2bdd.cc, src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2tgba_lacim.cc: Add
      missing cases in switches.
      bbb645e1
    • Alexandre Duret-Lutz's avatar
      Accept "{E}|->ltl" and "{E}(ltl)" as synonym for "{E}[]->ltl". · 1ecc6984
      Alexandre Duret-Lutz authored
      * src/ltlparse/ltlparse.yy (parenthesedsubformula): Extract these
      rules from...
      (subformula): ... here, and use it to recognize "{SERE}(formula)".
      * src/ltlparse/ltlscan.ll: Recognize "|->" as "[]->".
      * src/ltltest/equals.test: Test these two new syntaxes.
      1ecc6984
    • Alexandre Duret-Lutz's avatar
      Support braces in addition to parentheses in rational expressions. · 4e7233d9
      Alexandre Duret-Lutz authored
      * src/ltlparse/ltlparse.yy (rationalexp): Allow bracedrationalexp.
      * src/ltltest/consterm.test, src/tgbatest/ltl2tgba.test: Add more
      tests.
      4e7233d9