* src/tgbatest/ltl2tgba.cc: Add option -t to output the LBTT automata.

* src/tgbaalgos/lbtt.cc, src/tgbaalgos/lbtt.hh: New files.
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS): Add lbtt.hh.
(libtgbaalgos_la_SOURCES): Add lbtt.cc.
* src/tgba/bddprint.cc (print_sat_handler): Put a space after "!".
* src/tgbatest/readsave.test: Adjust spaces after "!".
This commit is contained in:
Alexandre Duret-Lutz 2003-07-08 15:45:11 +00:00
parent a307c0d0ae
commit f9c8eb1cb7
7 changed files with 272 additions and 3 deletions

31
src/tgbaalgos/lbtt.hh Normal file
View file

@ -0,0 +1,31 @@
#ifndef SPOT_TGBAALGOS_LBTT_HH
# define SPOT_TGBAALGOS_LBTT_HH
#include "tgba/tgba.hh"
#include <iostream>
namespace spot
{
/// \brief Print reachable states in LBTT format.
///
/// Note that LBTT expects an automaton with transition
/// labeled by propositional formulae, and generalized
/// Büchi accepting conditions on \emph states. This
/// is unlike our spot::tgba automata which put
/// botg generalized accepting conditions and propositional
/// formulae) on \emph transitions.
///
/// This algorithm will therefore produce an automata
/// where accepting conditions have been moved from
/// each transition to previous state. In the worst
/// case, doing so will multiply the number of states
/// and transitions of the automata by <code>2^|Acc|</code>.
/// where <code>|Acc|</code> is the number of accepting
/// conditions used by the automata. You have been warned.
///
/// \param g The automata to print.
/// \param os Where to print.
std::ostream& lbtt_reachable(std::ostream& os, const tgba& g);
}
#endif // SPOT_TGBAALGOS_LBTT_HH