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:
Alexandre Duret-Lutz 2003-05-26 11:17:40 +00:00
parent 5100c197a2
commit c03934140f
32 changed files with 1263 additions and 2 deletions

30
src/tgba/tgbabdddict.hh Normal file
View file

@ -0,0 +1,30 @@
#ifndef SPOT_TGBA_TGBABDDDICT_H
# define SPOT_TGBA_TGBABDDDICT_H
#include <map>
#include <iostream>
#include "ltlast/formula.hh"
namespace spot
{
struct tgba_bdd_dict
{
// Dictionaries for BDD variables.
// formula-to-BDD-variable maps
typedef std::map<const ltl::formula*, int> fv_map;
// BDD-variable-to-formula maps
typedef std::map<int, const ltl::formula*> vf_map;
fv_map now_map;
vf_map now_formula_map;
fv_map var_map;
vf_map var_formula_map;
fv_map prom_map;
vf_map prom_formula_map;
std::ostream& dump(std::ostream& os) const;
};
}
#endif // SPOT_TGBA_TGBABDDDICT_H