Introduce taa_tgba_labelled<label> so that we can build
taa_tgba instances labelled by other objects than strings in the same way Alexandre did for tgba_explicit. * src/tgba/taatgba.cc, src/tgba/taatgba.hh: Split taa_tgba in two levels: taa_tgba with no label and taa_tgba_labelled templated by the type of the label. Define taa_tgba_string (with the interface of the former taa_tgba class) and taa_tgba_formula for future use in ltl2taa.cc. * src/tgbaalgos/ltl2taa.cc, src/tgbatest/taatgba.cc: Adjust to use taa_tgba_string.
This commit is contained in:
parent
88df8c0a1d
commit
7c20d8ae5d
5 changed files with 244 additions and 202 deletions
|
|
@ -39,7 +39,7 @@ namespace spot
|
|||
class ltl2taa_visitor : public const_visitor
|
||||
{
|
||||
public:
|
||||
ltl2taa_visitor(taa_tgba* res, language_containment_checker* lcc,
|
||||
ltl2taa_visitor(taa_tgba_string* res, language_containment_checker* lcc,
|
||||
bool refined = false, bool negated = false)
|
||||
: res_(res), refined_(refined), negated_(negated),
|
||||
lcc_(lcc), init_(), succ_(), to_free_()
|
||||
|
|
@ -51,7 +51,7 @@ namespace spot
|
|||
{
|
||||
}
|
||||
|
||||
taa_tgba*
|
||||
taa_tgba_string*
|
||||
result()
|
||||
{
|
||||
for (unsigned i = 0; i < to_free_.size(); ++i)
|
||||
|
|
@ -305,7 +305,7 @@ namespace spot
|
|||
}
|
||||
|
||||
private:
|
||||
taa_tgba* res_;
|
||||
taa_tgba_string* res_;
|
||||
bool refined_;
|
||||
bool negated_;
|
||||
language_containment_checker* lcc_;
|
||||
|
|
@ -381,7 +381,7 @@ namespace spot
|
|||
const ltl::formula* f2 = ltl::negative_normal_form(f1);
|
||||
f1->destroy();
|
||||
|
||||
spot::taa_tgba* res = new spot::taa_tgba(dict);
|
||||
spot::taa_tgba_string* res = new spot::taa_tgba_string(dict);
|
||||
bdd_dict b;
|
||||
language_containment_checker* lcc =
|
||||
new language_containment_checker(&b, false, false, false, false);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue