Initial code for TGBA (Transition Generalized Bchi Automata).
Contains tgba_bdd, a BDD-encoded TGBA, and ltl_to_tgba, a LTL-to-TGBA translator using Couvreur's algorithm. * src/Makefile.am (SUBDIRS): Add tgba. (libspot_la_LIBADD): Add tgba/libtgba.la. * src/tgba/Makefile.am, src/tgba/bddfactory.cc, src/tgba/bddfactory.hh, src/tgba/dictunion.cc, src/tgba/dictunion.hh, src/tgba/ltl2tgba.cc, src/tgba/ltl2tgba.hh, src/tgba/state.hh, src/tgba/statebdd.cc, src/tgba/statebdd.hh, src/tgba/succiter.hh, src/tgba/succiterconcrete.cc, src/tgba/succiterconcrete.hh, src/tgba/succlist.hh, src/tgba/tgba.hh, src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh, src/tgba/tgbabddconcretefactory.cc, src/tgba/tgbabddconcretefactory.hh, src/tgba/tgbabddconcreteproduct.cc, src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbabddcoredata.cc, src/tgba/tgbabddcoredata.hh, src/tgba/tgbabdddict.cc, src/tgba/tgbabdddict.hh, src/tgba/tgbabddfactory.hh, src/tgba/tgbabddtranslatefactory.cc, src/tgba/tgbabddtranslatefactory.hh: New files.
This commit is contained in:
parent
5100c197a2
commit
c03934140f
32 changed files with 1263 additions and 2 deletions
59
src/tgba/tgbabddconcreteproduct.cc
Normal file
59
src/tgba/tgbabddconcreteproduct.cc
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
#include "tgbabddconcreteproduct.hh"
|
||||
#include "tgbabddtranslatefactory.hh"
|
||||
#include "dictunion.hh"
|
||||
|
||||
namespace spot
|
||||
{
|
||||
class tgba_bdd_product_factory: public tgba_bdd_factory
|
||||
{
|
||||
public:
|
||||
tgba_bdd_product_factory(const tgba_bdd_concrete& left,
|
||||
const tgba_bdd_concrete& right)
|
||||
: dict_(tgba_bdd_dict_union(left.get_dict(),
|
||||
right.get_dict())),
|
||||
fact_left_(left, dict_),
|
||||
fact_right_(right, dict_),
|
||||
data_(fact_left_.get_core_data(), fact_right_.get_core_data()),
|
||||
init_(fact_left_.get_init_state() & fact_right_.get_init_state())
|
||||
{
|
||||
}
|
||||
|
||||
virtual
|
||||
~tgba_bdd_product_factory()
|
||||
{
|
||||
}
|
||||
|
||||
const tgba_bdd_core_data&
|
||||
get_core_data() const
|
||||
{
|
||||
return data_;
|
||||
}
|
||||
|
||||
const tgba_bdd_dict&
|
||||
get_dict() const
|
||||
{
|
||||
return dict_;
|
||||
}
|
||||
|
||||
bdd
|
||||
get_init_state() const
|
||||
{
|
||||
return init_;
|
||||
}
|
||||
|
||||
private:
|
||||
tgba_bdd_dict dict_;
|
||||
tgba_bdd_translate_factory fact_left_;
|
||||
tgba_bdd_translate_factory fact_right_;
|
||||
tgba_bdd_core_data data_;
|
||||
bdd init_;
|
||||
};
|
||||
|
||||
tgba_bdd_concrete
|
||||
product(const tgba_bdd_concrete& left, const tgba_bdd_concrete& right)
|
||||
{
|
||||
|
||||
tgba_bdd_product_factory p(left, right);
|
||||
return tgba_bdd_concrete(p, p.get_init_state());
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue