Add an ltl2tgba option to read Kripke structure.

Also offers two ways to output Kripke structures.

* src/kripketest/parse_print_test.cc, src/kripke/kripkeexplicit.cc
: Simplify includes.
* src/kripke/kripkeprint.hh (kripke_save_reachable,
kripke_save_reachable_renumbered): New declarations.
(KripkePrinter): Move and rename...
* src/kripke/kripkeprint.cc (kripke_printer): ... here.
(kripke_printer_renumbered): New class.
(kripke_save_reachable, kripke_save_reachable_renumbered): New
function.
* src/tgbatest/ltl2tgba.cc: Add an option to read Kripke
structures.
* iface/dve2/dve2check.cc: Use kripke_save_reachable_renumbered.
* iface/dve2/defs.in (run2): Remove.
* iface/dve2/kripke.test: Adjust tests.
This commit is contained in:
Alexandre Duret-Lutz 2011-11-27 21:05:01 +01:00
parent 172ce2d7fd
commit ba3108f98d
9 changed files with 188 additions and 118 deletions

View file

@ -19,10 +19,8 @@
// 02111-1307, USA.
#include "../kripkeparse/public.hh"
#include "../kripkeparse/parsedecl.hh"
#include "../kripke/kripkeprint.hh"
#include "../tgba/bddprint.hh"
#include "kripkeparse/public.hh"
#include "kripke/kripkeprint.hh"
#include "ltlast/allnodes.hh"
@ -30,7 +28,7 @@ using namespace spot;
int main(int argc, char** argv)
{
int returnValue = 0;
int return_value = 0;
kripke_parse_error_list pel;
bdd_dict* dict = new bdd_dict;
@ -38,15 +36,11 @@ int main(int argc, char** argv)
if (!pel.empty())
{
format_kripke_parse_errors(std::cerr, argv[1], pel);
returnValue = 1;
return_value = 1;
}
if (!returnValue)
{
KripkePrinter* kp = new KripkePrinter(k, std::cout);
kp->run();
delete kp;
}
if (!return_value)
kripke_save_reachable(std::cout, k);
delete k;
delete dict;
@ -54,5 +48,5 @@ int main(int argc, char** argv)
assert(ltl::unop::instance_count() == 0);
assert(ltl::binop::instance_count() == 0);
assert(ltl::multop::instance_count() == 0);
return returnValue;
return return_value;
}