* src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Add the
symb_merge argument. * src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Likewise. * src/tgbatest/ltl2tgba.cc (main): Rename -fx as -x, and add -y to unset symb_merge. * wrap/python/cgi/ltl2tgba.in: Remove the exprop version of the FM translator, make exprop and symb_merge options.
This commit is contained in:
parent
5cb4048120
commit
4e793ef418
6 changed files with 83 additions and 21 deletions
|
|
@ -435,7 +435,8 @@ namespace spot
|
|||
}
|
||||
|
||||
tgba_explicit*
|
||||
ltl_to_tgba_fm(const formula* f, bdd_dict* dict, bool exprop)
|
||||
ltl_to_tgba_fm(const formula* f, bdd_dict* dict,
|
||||
bool exprop, bool symb_merge)
|
||||
{
|
||||
// Normalize the formula. We want all the negations on
|
||||
// the atomic propositions. We also suppress logic
|
||||
|
|
@ -530,7 +531,8 @@ namespace spot
|
|||
// use it in lieu of the current one. (See the comments
|
||||
// for canonical_succ.) We need to do this only for new
|
||||
// destinations.
|
||||
if (formulae_seen.find(dest) == formulae_seen.end())
|
||||
if (symb_merge
|
||||
&& formulae_seen.find(dest) == formulae_seen.end())
|
||||
{
|
||||
dest->accept(v);
|
||||
bdd succbdd = v.result();
|
||||
|
|
|
|||
|
|
@ -49,10 +49,16 @@ namespace spot
|
|||
///
|
||||
/// If \a exprop is set, the algorithm will consider all properties
|
||||
/// combinations possible on each state, in an attempt to reduce
|
||||
/// the non-determinism.
|
||||
/// the non-determinism. The automaton will have the same size as
|
||||
/// without this option, but because the transition will be more
|
||||
/// deterministic product automaton will be smaller (or, at worse, equal).
|
||||
///
|
||||
/// If \a symb_merge is set to false, states with the same symbolic
|
||||
/// representation (these are equivalent formulae) will not be
|
||||
/// merged.
|
||||
/// \endverbatim
|
||||
tgba_explicit* ltl_to_tgba_fm(const ltl::formula* f, bdd_dict* dict,
|
||||
bool exprop = false);
|
||||
bool exprop = false, bool symb_merge = true);
|
||||
}
|
||||
|
||||
#endif // SPOT_TGBA_LTL2TGBA_HH
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue