* src/tgba/bddprint.hh (bdd_format_set): New function.

* src/tgba/bddprint.cc (bdd_format_set): Likewise.
* src/tgba/state.hh: Add Doxygen comments.
(state::compare): Take a state*, not a state&.
(state_ptr_less_than): New functor.
* src/tgba/statebdd.hh (state_bdd::compare): Take a state*, not a
state&.
* src/tgba/statebdd.cc (state_bdd::compare): Likewise.
* src/tgba/succiter.hh: Add Doxygen comments.
* src/tgba/tgba.hh: Mention promises.
(tgba::formate_state): New pure virtual method.
* src/tgba/tgbabddconcrete.hh (tgba_bdd_concrete::formate_state):
New method.
* src/tgba/tgbabddconcrete.cc (tgba_bdd_concrete::formate_state):
Likewise.
* src/tgbaalgos/dotty.cc: Adjust to use state_ptr_less_than
and tgba::formate_state.
This commit is contained in:
Alexandre Duret-Lutz 2003-05-27 13:05:22 +00:00
parent 3f0e95f061
commit fb5ff901d0
11 changed files with 178 additions and 49 deletions

View file

@ -20,6 +20,12 @@ namespace spot
/// transitions), and a path can be accepted only if it traverse
/// at least one transition of each set infinitely often.
///
/// Actually we do not really encode accepting sets but their
/// complement: promise sets. Formulae such as 'a U b' and
/// 'F b' make the promise to fulfil 'b' enventually. A path can
/// be accepted if for each promise it traverse infinitely often
/// a transition that does not make this promise.
///
/// Browsing such automaton can be achieved using two functions.
/// \c get_init_state, and \c succ_iter. The former returns
/// the initial state while the latter allows to explore the
@ -65,7 +71,13 @@ namespace spot
/// may use the same BDD variable for different formula),
/// or simply when printing.
virtual const tgba_bdd_dict& get_dict() const = 0;
};
/// \brief Format the state as a string for printing.
///
/// This formating is the responsability of the automata
/// who owns the state.
virtual std::string format_state(const state* state) const = 0;
};
}