- 30 Apr, 2012 8 commits
-
-
Alexandre Duret-Lutz authored
* src/tgba/formula2bdd.hh: Fix the comments so Doxygen can see them.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh: Here. * src/ltltest/randltl.cc: Add option -8 to display utf-8 formulae. * src/ltltest/utf8.test: Test it.
-
Alexandre Duret-Lutz authored
* src/misc/acccompl.cc: Do not include tgbaexplicit.hh.
-
Alexandre Duret-Lutz authored
* doc/tl/tl.tex: Here.
-
Alexandre Duret-Lutz authored
* src/ltlparse/public.hh (fix_utf8_locations): New function. * src/ltlparse/fmterror.cc (fix_utf8_locations): Implement it. (format_parse_errors): Rename as ... (format_parse_errors_aux): ... this. (format_parse_errors): New implementation that call fix_utf8_locations() before format_parse_errors_aux() on valid utf8 strings. * src/ltlparse/Makefile.am: Include $(top_srcdir). * src/ltltest/utf8.test: New file. * src/ltltest/Makefile.am: Add it. * src/ltltest/parse.test: Fix header.
-
Alexandre Duret-Lutz authored
* utf8/doc/ReleaseNotes, utf8/doc/utf8cpp.html, utf8/utf8.h, utf8/utf8/checked.h, utf8/utf8/core.h, utf8/utf8/unchecked.h: New files. * Makefile.am (EXTRA_DIST): Distribute them.
-
Alexandre Duret-Lutz authored
* src/ltlparse/ltlscan.ll: Recognize several utf8 operators such as □, ◇, ◯,
↔ , ⤇, etc. -
Alexandre Duret-Lutz authored
* src/ltlparse/ltlparse.yy: Make all the above operators right-associative. Also let `:' have precedence over `;'. * src/ltltest/reduccmp.test: Adjust for the `:' precedence. * doc/tl/tl.tex, NEWS: Document this.
-
- 28 Apr, 2012 32 commits
-
-
Alexandre Duret-Lutz authored
* NEWS: Here.
-
Alexandre Duret-Lutz authored
* wrap/python/ajax/ltl2tgba.html: Add a checkbox and some code to keep it consistent with the basic rewriting checkbox. * wrap/python/ajax/spot.in: Deal with the new option. * wrap/python/ajax/protocol.txt: Document it.
-
Alexandre Duret-Lutz authored
* Makefile.am, src/ltlast/formula.cc, src/ltlast/formula.hh, src/tgba/tgbaexplicit.hh, wrap/python/ajax/Makefile.am, wrap/python/spot.i: Here. * HACKING: Document -*- coding: utf-8 -*-.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.cc: Here. * src/ltltest/reduccmp.test: Test them. * doc/tl/tl.tex: Document them.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.cc (reduce_sere_ltl): New function, to factor the code of the []-> and <>-> rewrittings. * src/ltltest/reduccmp.test: Add more tests. * doc/tl/tl.tex: Document these rewritings.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.cc: Here. * doc/tl/tl.tex: Document then. * src/ltlast/bunop.hh (as_KleenStar): New helper function. * src/ltltest/reduccmp.test: Add more tests. * src/ltltest/reduc.cc: Also display the resulting formula without reduce_size_stricly.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/snf.cc, src/ltlvisit/snf.hh: New files. * src/ltlvisit/Makefile.am: Distribute them. * src/ltlvisit/simplify.cc, src/ltlvisit/simplify.hh: Call snf(f) for all f[*]. * src/ltltest/reduccmp.test: Test it. * doc/tl/tl.tex, doc/tl/tl.bib: Document it.
-
Alexandre Duret-Lutz authored
* src/ltlast/multop.cc (instance): Implement the reduction. * src/ltlast/multop.hh, doc/tl/tl.tex: Document it. * src/ltltest/equals.test: Add a test.
-
Alexandre Duret-Lutz authored
* src/ltlast/multop.cc (instance): Implement the reduction. * src/ltlast/multop.hh, doc/tl/tl.tex: Document it. * src/ltltest/equals.test: Test it.
-
Alexandre Duret-Lutz authored
* src/ltlast/bunop.hh (one_star): New static method building 1[*]. * src/ltlast/bunop.cc (bunop::~bunop, bunop::instance_count): Adjust. * src/ltlast/multop.cc: Implement the trivial rewriting. * src/ltlast/multop.hh, doc/tl/tl.tex: Document it. * src/ltltest/equals.test: Test it.
-
Alexandre Duret-Lutz authored
Especially, 1&f and 1:f were mistakenly always reduced to f, which is incorrect when f accept the empty word. * src/ltlast/multop.cc: Here. * src/ltlast/multop.hh, doc/tl/tl.tex: Adjust documentation. * src/ltltest/equals.test: Add more tests.
-
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.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.cc: Here. * src/ltltest/reduccmp.test: More tests. * doc/tl/tl.tex: Document them.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/ltl2tgba_fm.cc: Here. The check is done by next patch.
-
Alexandre Duret-Lutz authored
* src/ltlast/multop.cc (instance): Here. * src/ltlast/multop.hh, doc/tl/tl.tex: Adjust documentation. * src/ltltest/equals.test: Adjust test cases.
-
Alexandre Duret-Lutz authored
* src/ltlast/bunop.cc (bunop::instance): Here. * src/ltlast/bunop.hh, doc/tl/tl.tex: Document it. * src/ltltest/equals.test: Test it.
-
Alexandre Duret-Lutz authored
* src/ltlast/bunop.hh, src/ltlast/bunop.cc, src/ltlvisit/randomltl.cc, src/ltlvisit/simplify.cc, src/ltlvisit/tostring.cc, src/tgbaalgos/ltl2tgba_fm.cc: Remove all traces of these two operators since they are not handled like sugar. * doc/tl/tl.tex: Adjust documentation to reflect the fact that these two operators are sugar.
-
Alexandre Duret-Lutz authored
* src/ltlast/bunop.hh, src/ltlast/bunop.cc (sugar_goto, sugar_equal): New functions.. * src/ltlparse/ltlparse.yy: Use them.
-
Alexandre Duret-Lutz authored
* src/ltlast/bunop.hh (is_bunop, is_Star): New functions. * src/ltlast/multop.hh (is_And, is_Or): Fix constness. (is_Concat, is_Fusion): New functions. * src/ltlast/unop.hh (is_unop, is_X, is_F, is_G, is_GF, is_FG): Fix constness. (is_Not): New function. * src/ltlvisit/tostring.cc (strip_star_not, match_goto, emit_bunop_child, resugar_concat): New methods. (visit(bunop)): Rewrite without calling format(). Detect the [->i..j] pattern. (visit(multop)): Call resugar_concat to detect [=i..j] patterns.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/tostring.cc (to_string_visitor): Take a list of keywords as fourth argument. (to_spin_string_visitor): Remove. (to_string, to_spin_string): Adjust usage of to_string_visitor.
-
Alexandre Duret-Lutz authored
* src/ltlast/formula.hh, src/ltlast/formula.cc (list_formula_props): New function. * wrap/python/spot.i: Adjust to wrap list_formula_props. * wrap/python/ajax/ltl2tgba.html: Add option to display properties. * wrap/python/ajax/spot.in: Handle ff=p and display properties. * wrap/python/ajax/protocol.txt: Adjust.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/tostring.cc (to_string_visitor): Here.
-
Alexandre Duret-Lutz authored
Because this means we are running dot twice, I have added a flag that will allow us to easily turn this off, should it prove too slow. * wrap/python/ajax/spot.in (output_both): New variable. (run_dot): New function, extracted from ... (render_dot): ... here. Adjust to call run_dot for all needed format. And ajust the output accordingly.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/dotty.cc (dotty_visitor): Replace the "dir" attribute by a childnum attribute used to number children.
-
Alexandre Duret-Lutz authored
* wrap/python/ajax/ltl2tgba.html: Revamp the syntax table to include PSL operators. * wrap/python/ajax/css/ltl2tgba.css: Adjust CSS as needed.
-
Alexandre Duret-Lutz authored
* src/ltlast/multop.hh (is_multop): Take a constant formula as input. * src/ltlvisit/tostring.cc (to_string_visitor::visit(multop*)): Output []=> or <>=> when the left argument of a []-> or <>-> is a concatenation that ends in 1. * doc/tl/tl.tex: Document this desugaring.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.cc (spot::ltl::is_And, spot::ltl::is_F, spot::ltl::is_FG, spot::ltl::is_G, spot::ltl::is_GF, spot::ltl::is_M, spot::ltl::is_Or, spot::ltl::is_R, spot::ltl::is_U, spot::ltl::is_W, spot::ltl::is_X, spot::ltl::is_binop, spot::ltl::is_constant, spot::ltl::is_multop, spot::ltl::is_unop): Move ... * src/ltlast/binop.hh, src/ltlast/constant.hh, src/ltlast/multop.hh src/ltlast/unop.hh: ... here, as appropriate.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.cc: Use but_all() to simplify code.
-
Alexandre Duret-Lutz authored
* src/ltlast/multop.hh, src/ltlast/multop.cc (all_but): New method used to simplify the removal of one element of a multop. * src/ltlvisit/simplify.cc: Implement the new rewriting rules. * doc/tl/tl.tex: Document them. * src/ltltest/reduccmp.test: Test them.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.hh (ltl_simplifier_options): New option reduce_size_stricly. * src/ltlvisit/simplify.cc (simplify_visitor): Implement these rules. * src/ltltest/reduc.cc: Check with reduce_size_strictly unset or set, but only use the latter result to check sizes. * src/ltltest/reduccmp.test: Test them. * doc/tl/tl.tex: Document them.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* doc/tl/tl.tex (Other Equivalences): Move... (Defining LTL with only one of $\U$, $\W$, $\R$, or $\M$): ... here.
-