Introduce tgba_explicit_labelled<label> so that we can build
tgba_explicit instances labelled by other objects than strings. * src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh: Split tgba_explicit in two levels: tgba_explicit with unlabelled states, and tgba_explicit_labelled templated by the type of the label. Define tgba_explicit_string (with the interface of the former tgba_explicit class) and tgba_explicit_formula for future use in ltl2tgba.cc. * src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh, src/tgbaalgos/cutscc.cc, src/tgbaalgos/dupexp.cc, src/tgbaalgos/emptiness.cc, src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/powerset.cc, src/tgbaalgos/randomgraph.cc, src/tgbaparse/public.hh, src/tgbaparse/tgbaparse.yy, src/tgbatest/explicit.cc, src/tgbatest/ltl2tgba.cc: Adjust to use tgba_explicit_string when appropriate.
This commit is contained in:
parent
d3dcecc6c3
commit
4e22bb8b09
15 changed files with 284 additions and 191 deletions
|
|
@ -39,7 +39,7 @@ namespace spot
|
|||
tgba* cut_scc(const tgba* a, const scc_map& m,
|
||||
const std::set<unsigned>* s)
|
||||
{
|
||||
tgba_explicit* sub_a = new tgba_explicit(a->get_dict());
|
||||
tgba_explicit_string* sub_a = new tgba_explicit_string(a->get_dict());
|
||||
state* cur = a->get_init_state();
|
||||
std::queue<state*> tovisit;
|
||||
typedef Sgi::hash_set<const state*,
|
||||
|
|
@ -418,4 +418,3 @@ namespace spot
|
|||
return iter_count;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// Copyright (C) 2003, 2004, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
// et Marie Curie.
|
||||
//
|
||||
|
|
@ -34,12 +34,12 @@ namespace spot
|
|||
{
|
||||
public:
|
||||
dupexp_iter(const tgba* a)
|
||||
: T(a), out_(new tgba_explicit(a->get_dict()))
|
||||
: T(a), out_(new tgba_explicit_string(a->get_dict()))
|
||||
{
|
||||
out_->copy_acceptance_conditions_of(a);
|
||||
}
|
||||
|
||||
tgba_explicit*
|
||||
tgba_explicit_string*
|
||||
result()
|
||||
{
|
||||
return out_;
|
||||
|
|
@ -62,7 +62,7 @@ namespace spot
|
|||
}
|
||||
|
||||
private:
|
||||
tgba_explicit* out_;
|
||||
tgba_explicit_string* out_;
|
||||
};
|
||||
|
||||
} // anonymous
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// Copyright (C) 2004, 2005, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
// et Marie Curie.
|
||||
//
|
||||
|
|
@ -292,7 +292,7 @@ namespace spot
|
|||
tgba*
|
||||
tgba_run_to_tgba(const tgba* a, const tgba_run* run)
|
||||
{
|
||||
tgba_explicit* res = new tgba_explicit(a->get_dict());
|
||||
tgba_explicit_string* res = new tgba_explicit_string(a->get_dict());
|
||||
res->copy_acceptance_conditions_of(a);
|
||||
|
||||
const state* s = a->get_init_state();
|
||||
|
|
|
|||
|
|
@ -195,7 +195,8 @@ namespace spot
|
|||
}
|
||||
|
||||
void
|
||||
conj_bdd_to_acc(tgba_explicit* a, bdd b, tgba_explicit::transition* t)
|
||||
conj_bdd_to_acc(tgba_explicit_string* a, bdd b,
|
||||
tgba_explicit::transition* t)
|
||||
{
|
||||
assert(b != bddfalse);
|
||||
while (b != bddtrue)
|
||||
|
|
@ -775,7 +776,7 @@ namespace spot
|
|||
formulae_seen.insert(f2);
|
||||
formulae_to_translate.insert(f2);
|
||||
|
||||
tgba_explicit* a = new tgba_explicit(dict);
|
||||
tgba_explicit_string* a = new tgba_explicit_string(dict);
|
||||
|
||||
a->set_init_state(to_string(f2));
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// Copyright (C) 2004, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
// et Marie Curie.
|
||||
//
|
||||
|
|
@ -40,7 +40,7 @@ namespace spot
|
|||
|
||||
power_set seen;
|
||||
todo_list todo;
|
||||
tgba_explicit* res = new tgba_explicit(aut->get_dict());
|
||||
tgba_explicit_string* res = new tgba_explicit_string(aut->get_dict());
|
||||
|
||||
state_set states;
|
||||
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ namespace spot
|
|||
ltl::environment* env)
|
||||
{
|
||||
assert(n > 0);
|
||||
tgba_explicit* res = new tgba_explicit(dict);
|
||||
tgba_explicit_string* res = new tgba_explicit_string(dict);
|
||||
|
||||
int props_n = ap->size();
|
||||
int* props = new int[props_n];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue