ltl_to_tgba_fm: Build a tgba_digraph instead of a tgba_explicit_formula
The conversion is not complete, because the conversion from SERE to DRA used for the closure operator is still building a tgba_explicit_formula. * src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_fm.hh: Return a tgba_digraph. * src/priv/acccompl.cc: Simplify. * src/graph/ngraph.hh: Add a way to iterate over all names. * src/tgba/tgbagraph.hh (compute_support_conditions): Return something useful. It's actually used by the constructor of testing automata. * src/tgbatest/wdba.test: Adjust to the fact that state are not labeled by formulas anymore. * src/bin/ltl2tgba.cc, src/bin/ltl2tgta.cc: Do not try to enable UTF8 on automata anymore.
This commit is contained in:
parent
38887f4960
commit
7b23691629
8 changed files with 77 additions and 97 deletions
|
|
@ -1,6 +1,6 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2012 Laboratoire de Recherche et Developpement de
|
||||
// l'Epita (LRDE)
|
||||
// Copyright (C) 2012, 2014 Laboratoire de Recherche et Developpement
|
||||
// de l'Epita (LRDE)
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
//
|
||||
|
|
@ -18,6 +18,7 @@
|
|||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "acccompl.hh"
|
||||
#include <cassert>
|
||||
|
||||
namespace spot
|
||||
{
|
||||
|
|
@ -60,6 +61,8 @@ namespace spot
|
|||
if (acc == bddtrue)
|
||||
return all_;
|
||||
|
||||
assert(acc != bddfalse);
|
||||
|
||||
// Since we never cache a unique positive bdd, we can reuse the
|
||||
// same cache. In fact the only kind of acc we will receive in
|
||||
// this method, are a conjunction of positive acceptance
|
||||
|
|
@ -70,12 +73,13 @@ namespace spot
|
|||
|
||||
bdd res = all_;
|
||||
bdd cond = acc;
|
||||
bdd neg = bddtrue;
|
||||
while (cond != bddtrue)
|
||||
{
|
||||
res &= bdd_nithvar(bdd_var(cond));
|
||||
neg &= bdd_nithvar(bdd_var(cond));
|
||||
cond = bdd_high(cond);
|
||||
}
|
||||
|
||||
res &= neg;
|
||||
cache_[acc] = res;
|
||||
|
||||
return res;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue