- 28 Apr, 2012 40 commits
-
-
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.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.cc: Add new rules. * doc/tl/tl.tex: Document them. * src/ltltest/reduccmp.test: Add test cases.
-
Alexandre Duret-Lutz authored
* doc/tl/tl.tex (Syntactic Hierarchy Classes): Document the ->, <->, and xor operators. Also add a \phi_F class.
-
Alexandre Duret-Lutz authored
* src/ltlast/binop.cc (binop::binop): Fix computation of syntactic guarantee and syntactic obligation for the Implies operator. Reported by Étienne Renault. * src/ltltest/kind.test: Add more tests.
-
Alexandre Duret-Lutz authored
The actual rules are a bit more complex: a & X(G(a&b...)&c...) = Ga & X(G(b...)&c...) a | X(Fa | c) = F(a) | c with the second rule being applied only if all XF can be removed. See the documentation for an example. * src/ltlvisit/simplify.cc: Implement these new rules. * doc/tl/tl.tex: Document them. * src/ltltest/reduccmp.test: Add test cases.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.cc: Implement these rules. * src/ltltest/reduccmp.test: Add tests. * doc/tl/tl.tex: Document them.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.cc: Implement them here, and augment them to support M, and W operators. * src/ltltest/reduccmp.test: Add some tests. * doc/tl/tl.tex (Simplifications Based on Implications): Document these rules. * doc/tl/tl.bib (babiak.12.tacas): New entry.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/length.hh (length_boolone): New function. * src/ltlvisit/length.cc (length_boolone): Implement it using... (length_boolone_visitor): ... this new visitor. * src/ltltest/randltl.cc: Use length_boolone() to check the result of the random generator, and ignore any formula larger (in length()) than opt_f. This fix a bug where the random formula generator would sometime produce formula larger than requested, because of the trivial rewriting of {f}[]->e as e|!f. * src/ltltest/length.cc: Add option -b to call length_boolone(). * src/ltltest/length.test: Test length_boolone().
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.cc (simplify_visitor): Implement these rules. * doc/tl/tl.tex: Document these rules.
-
Alexandre Duret-Lutz authored
* doc/tl/Makefile.am (LATEXMK): Set BIBINPUTS for VPATH builds. (EXTRA_DIST): Distribute tl.tex and tl.bib. ($(srcdir)/tl.pdf): Fix update in srcdir.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.cc (simplify_visitor::visit(multop)): Initialize `ri' to kill a warning.
-
Alexandre Duret-Lutz authored
* src/ltlparse/ltlscan.ll: Parse "inf" as OP_UNBOUNDED. * src/ltltest/equals.test: Add some tests. * doc/tl/tl.tex: Document it.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/ltlvisit/dotty.cc (dotty_visitor::visit): Do not declare bunop as sinks.
-
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().
-
Alexandre Duret-Lutz authored
* wrap/python/ajax/spot.in: Diagnose attempt to use LaCIM or Tau on PSL formulae. * wrap/python/ajax/css/ltl2tgba.css (.ltl2tgba .error): New entry.
-
Alexandre Duret-Lutz authored
* src/tgbatest/ltl2tgba.cc: Diagnose attempt to use -l and -taa on PSL formulae. Switch back to -f for these formulae.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* doc/tl/tl.tex: Replace all occurrences of ``rational [expression]'' by SERE. Add a couple of more notes and bibliographic references. * doc/tl/tl.bib: More entries.
-