Ignore sub-"SERE" that have been proved useless already.
* src/tgbaalgos/ltl2tgba_fm.cc (ratexp_to_dfa::translate): Do not translate a subformula if we have already proved it useless in a previous rational expression. * src/tgbatest/ltl2tgba.test: Add an example, although that test does not ensure the subformula is ignored early in the translation. I.e., it would still work without the patch.
This commit is contained in:
parent
b6702fc23a
commit
098e121a36
2 changed files with 12 additions and 0 deletions
|
|
@ -935,6 +935,14 @@ namespace spot
|
|||
const formula* dest =
|
||||
dict_.bdd_to_formula(bdd_exist(res & label, dict_.var_set));
|
||||
|
||||
f2a_t::const_iterator i = f2a_.find(dest);
|
||||
if (i != f2a_.end() && i->second == 0)
|
||||
{
|
||||
// This state is useless. Ignore it.
|
||||
dest->destroy();
|
||||
continue;
|
||||
}
|
||||
|
||||
bool seen = a->has_state(dest);
|
||||
state_explicit_formula::transition* t =
|
||||
a->create_transition(now, dest);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue