1. 28 Apr, 2012 11 commits
    • Alexandre Duret-Lutz's avatar
      Introduce EConcatMarked "<>+>" as operator. · 171ca678
      Alexandre Duret-Lutz authored
      * src/ltlast/binop.cc, src/ltlast/binop.hh: Introduce
      EConcatMarked ("<>+>").
      * src/ltlvisit/basicreduce.cc, src/ltlvisit/consterm.cc,
      src/ltlvisit/lunabbrev.cc, src/ltlvisit/nenoform.cc,
      src/ltlvisit/reduce.cc, src/ltlvisit/simpfg.cc,
      src/ltlvisit/syntimpl.cc, src/ltlvisit/tostring.cc,
      src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/ltl2tgba_lacim.cc, src/tgba/formula2bdd.cc,
      src/tgba/formula2bdd.cc: Deal with it if possible or ignore
    • Alexandre Duret-Lutz's avatar
      Simplify #e in conjunctions. · 66317db4
      Alexandre Duret-Lutz authored
      * src/ltlast/multop.cc: Handle it.
    • Alexandre Duret-Lutz's avatar
      Simplify {#e}[]->Exp and {#e}<>->Exp. · 76528ee2
      Alexandre Duret-Lutz authored
      * src/ltlast/binop.cc: Add simplification rules.
    • Alexandre Duret-Lutz's avatar
      more tests for rational operator simplifications. · fc7c2943
      Alexandre Duret-Lutz authored
      * src/ltltest/nenoform.test, src/ltltest/equals.test,
      src/ltltest/consterm.test: Update tests for rational ops.
      * src/ltltest/consterm.cc: Use parse_ratexp().
      * src/ltlast/binop.cc: Fix simplification rules for []-> and
    • Alexandre Duret-Lutz's avatar
      Enable parsing stand-alone rational expressions with the LTL parser. · 9aebb80e
      Alexandre Duret-Lutz authored
      * src/ltlparse/ltlparse.yy (parse_ratexp): New function.
      (START_LTL, START_RATEXP): Add these new tokens.
      (result): Parse and LTL formula or a rational expression depending
      on the start symbol.
      * src/ltlparse/public.hh (parse_ratexp): New function.
      * src/ltlparse/parsedecl.hh (flex_set_buffer): Add a new argument
      to set the starting rule.
      * src/ltlparse/ltlscan.ll (flex_set_buffer): Adjust.
      (start_token): New global variable.  Return this as first token if
      it is set.
    • Alexandre Duret-Lutz's avatar
      Add []-> and <>->. · c6dd811b
      Alexandre Duret-Lutz authored
      * src/ltlast/binop.hh, src/ltlast/binop.cc (EConcat, UConcat):
      Add these new operators.
      * src/ltlparse/ltlparse.yy, src/ltlparse/ltlscan.ll: Parse
      these new operators.
      * src/ltlvisit/simpfg.cc, src/ltlvisit/syntimpl.cc,
      src/ltlvisit/tostring.cc, src/ltlvisit/basicreduce.cc,
      src/ltlvisit/consterm.cc, src/ltlvisit/lunabbrev.cc,
      src/ltlvisit/nenoform.cc, src/ltlvisit/reduce.cc
      src/tgba/formula2bdd.cc, src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_lacim.cc: Add these new operators into the
    • Alexandre Duret-Lutz's avatar
      Add a constant_term() visitor to decide whether #e is accepted. · 97b7211b
      Alexandre Duret-Lutz authored
      * src/ltlvisit/Makefile.am: Add consterm.cc and consterm.hh.
      * src/ltlvisit/consterm.hh, src/ltlvisit/consterm.cc: New files.
      * src/ltltest/Makefile.am: Add consterm.cc and consterm.test.
      * src/ltltest/consterm.cc, src/ltltest/consterm.test: New files.
    • Alexandre Duret-Lutz's avatar
      more files to ignore · 2d1aa0a5
      Alexandre Duret-Lutz authored
    • Alexandre Duret-Lutz's avatar
      Introduce rational operators and trivial simplification rules. · 546559b8
      Alexandre Duret-Lutz authored
      Trivial simplifications rules (such as "FFa=Fa" or "x&1=x")
      are performed any time a formule is instanciated.
      * src/ltlast/constant.hh, src/ltlast/constant.cc
      (true_instance, true_instance_): Declare the true_instance_ as a
      static member, and move true_instance() into the .hh so it gets
      inlined.  Have true_instance_ as a class variable will ensure that
      it is the first formula instantiated.  Binop simplifications rely
      on this to order arguments.
      (false_instance, false_instance_): Likewise.
      (empty_word_instance, empty_word_instance_): New method and static
      * src/ltlast/formula.hh (formula::formula): If max_count_ ever
      loops, skip the first three values so that constants always have
      smaller hash codes.
      * src/ltlast/binop.hh, src/ltlast/binop.cc (instance): Add
      simplifications and document them.
      * src/ltlast/multop.hh (multop::Concat): New operator.
      * src/ltlast/multop.cc (op_name): Handle Concat.
      (instance): Inline Concat arguments without reordering.  Handle
      absorbent and neutral elements for all operators.
      * src/ltlast/unop.hh (unop::Star): New operator.
      * src/ltlast/unop.cc (op_name): Handle Star.
      (instance): Handle Star, and add trivial simplifications for
      other unary operators.
      * src/ltlparse/ltlparse.yy (OP_CONCAT, OP_STAR, CONST_EMPTYWORD):
      Declare these new operators and add rules for them.
      * src/ltlparse/ltlscan.ll (OP_CONCAT, OP_STAR, CONST_EMPTYWORD):
      Output these new operators.
      * src/ltltest/equals.test: New tests.
      * src/ltltest/parse.test: Remove redundant test.
      * src/ltltest/tunabbrev.test, src/tgbatest/emptchk.test: Adjust tests.
      * src/ltlvisit/basicreduce.cc, src/ltlvisit/contain.cc,
      src/ltlvisit/nenoform.cc, src/ltlvisit/reduce.cc,
      src/ltlvisit/syntimpl.cc, src/ltlvisit/tostring.cc,
      src/ltlvisit/tunabbrev.cc: Complete visitors to handle new
      * src/ltltest/nenoform.test: More tests.
      * src/ltlvisit/lunabbrev.cc (unabbreviate_logic_visitor::visit):
      Clone formulae before instance() function actually have a chance
      to destroy them.
      * src/tgba/formula2bdd.cc, src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_lacim.cc: Adjust switches to assert on new
    • Alexandre Duret-Lutz's avatar
      Apply ACI rules to multop formulae. · 4fcc4f82
      Alexandre Duret-Lutz authored
      * src/ltlast/multop.cc (instance): Handle neutral and absorbent
      elements for the operator.
      * src/ltltest/equals.test: Add more tests.
    • Alexandre Duret-Lutz's avatar
      Summarize recent changes. · 4e1a68e6
      Alexandre Duret-Lutz authored
      * NEWS: Here.
  2. 27 Apr, 2012 10 commits
  3. 18 Apr, 2012 4 commits
    • Thomas Badie's avatar
      Add the simulation in the Spot web interface. · dfcaed03
      Thomas Badie authored
      * wrap/python/ajax/spot.in: Add the simulation.
      * wrap/python/ajax/protocol.txt: Add the direct simulation in the
      automaton simplifications section.
      * wrap/python/spot.i (simulation_new): Create a function which
      takes an automaton and a call to the simulation with the good
      template parameter.
      * wrap/python/ajax/ltl2tgba.html: Add the direct simulation
    • Thomas Badie's avatar
      Fix two VPath-related bugs in bench. · 085ea52b
      Thomas Badie authored
      * bench/ltl2tgba/known (ltlfile): Add a $srcdir.
      * bench/ltlclasses/defs.in (builddir): Add the $builddir.
      * bench/ltlclasses/run (gen): Change the $srcdir into $builddir.
    • Thomas Badie's avatar
      Create the direct simulation. · 876f8c90
      Thomas Badie authored
      * src/tgbaalgos/simulation.cc, src/tgbaalgos/simulation.hh: New files.
      * src/tgbaalgos/Makefile.am: Add the new files to the compilation.
      * src/tgbatest/spotlbtt.test: Add the simulation.
      * src/tgbatest/ltl2tgba.cc: Add direct simulation (-RSD).
    • Thomas Badie's avatar
      Add a class to convert a bdd into its complement. · e75ad574
      Thomas Badie authored
      * src/misc/acccompl.cc, src/misc/acccompl.hh: Add a way to
      an acceptance condition in an automaton, into its
      Create a method to make the reverse operation.
      * src/misc/Makefile.am: Add the new files to the compilation.
  4. 13 Apr, 2012 3 commits
  5. 12 Apr, 2012 5 commits
    • Pierre PARUTTO's avatar
      Correct a bug in tgba_explicit_succ_iterator class · 937248e5
      Pierre PARUTTO authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      * src/tgba/tgbaexplicit.hh (current_acceptance_conditiosn):
      remove a suspect and in return statement
    • Pierre PARUTTO's avatar
      Modify is_accepting sba's method to run in constant time. · 9cfc4082
      Pierre PARUTTO authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      * src/tgba/tgbaexplicit.hh: modify is_accepting method
    • Pierre PARUTTO's avatar
      Implement sba_explicit class, add tests · eec3a12f
      Pierre PARUTTO authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      * src/tgba/tgbaexplicit.hh: Add sba_explicit implementation
      * src/tgbatest/explicit2.cc: Add test to check the good instantiation
      of sba_explicit_*
    • Alexandre Duret-Lutz's avatar
      tgba_explicit: make the new class work with Swig. · 603c5d60
      Alexandre Duret-Lutz authored
      * src/tgba/tgbaexplicit.hh (explicit_graph, tgba_explicit): Make the
      transition type explicit.
      (state_explicit_string::get_iterator): New method.
      (explicit_graph::get_transition): Use it.
      (tba): Rename as ...
      (sba): ... this.
      * wrap/python/spot.i: Instanciate explicit_graph and tgba_explicit
      for all three types.
    • Pierre PARUTTO's avatar
      Revamp tgbaexplicit.hh · a15aac28
      Pierre PARUTTO authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      * src/tgba/tgbaexplicit.hh, src/tgba/tgbaexplicit.cc: Factor most of
      the code in an explicit_graph<State, Type> that inherits from type.
      The tgba_explicit type<State> now inherits from
      * src/ltlvisit/contain.cc, src/neverparse/neverclaimparse.yy
      src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh, src/tgbaalgos/cutscc.cc,
      src/tgbaalgos/dupexp.cc, src/tgbaalgos/dupexp.hh,
      src/tgbaalgos/emptiness.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/minimize.cc,
      src/tgbaalgos/powerset.cc, src/tgbaalgos/randomgraph.cc,
      src/tgbaalgos/sccfilter.cc, src/tgbaparse/tgbaparse.yy,
      src/tgbatest/complementation.cc, src/tgbatest/explicit.cc,
      src/tgbatest/explprod.cc, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/mixprod.cc, src/tgbatest/powerset.cc,
      src/tgbatest/tgbaread.cc, src/tgbatest/tripprod.cc:
      Replace tgba_explicit* by the actual type used.
      * src/tgbatest/explicit2.cc: New file.
      * src/tgbatest/Makefile.am: Add it.
  6. 11 Apr, 2012 1 commit
  7. 19 Mar, 2012 1 commit
  8. 18 Mar, 2012 1 commit
  9. 17 Mar, 2012 1 commit
    • Alexandre Duret-Lutz's avatar
      Typo: rename automata_ as aut_. · 3fb29ce1
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/reachiter.hh, src/tgbaalgos/reachiter.cc,
      src/tgbaalgos/dotty.cc, src/tgbaalgos/dupexp.cc,
      src/tgbaalgos/lbtt.cc, src/tgbaalgos/neverclaim.cc,
      src/tgbaalgos/reductgba_sim.cc, src/tgbaalgos/reductgba_sim_del.cc,
      src/tgbaalgos/save.cc, src/tgbaalgos/sccfilter.cc,
      src/tgba/tgbareduc.cc, src/evtgbaalgos/tgba2evtgba.cc,
      src/kripke/kripkeprint.cc: Rename automata_ as aut_.
  10. 12 Mar, 2012 2 commits
  11. 09 Mar, 2012 1 commit