* src/tgbaalgos/magic.cc: rewrite to externalize the heap and

prepare it to a bit state hashing version.
* src/tgbaalgos/magic.hh: adapt to the new interface of
magic_search and se05_search.
* src/tgbaalgos/se05.cc: new file.
* src/tgbaalgos/Makefile.am: Add it.
* src/tgbatest/ltl2tgba.cc: Add new emptiness check.
* src/tgbatest/emptchk.test: more tests.
* src/tgbatest/dfs.test: new file.
* src/tgbatest/Makefile.am: Add it.
This commit is contained in:
Denis Poitrenaud 2004-11-09 17:22:58 +00:00
parent 908b6129f4
commit f52082bcfb
9 changed files with 1226 additions and 254 deletions

View file

@ -119,7 +119,9 @@ syntax(char* prog)
<< " couvreur99 (the default)" << std::endl
<< " couvreur99_shy" << std::endl
<< " magic_search" << std::endl
<< " magic_search_repeated" << std::endl;
<< " magic_search_repeated" << std::endl
<< " se05_search" << std::endl
<< " se05_search_repeated" << std::endl;
exit(2);
}
@ -137,7 +139,7 @@ main(int argc, char** argv)
int output = 0;
int formula_index = 0;
std::string echeck_algo;
enum { None, Couvreur, Couvreur2, MagicSearch } echeck = None;
enum { None, Couvreur, Couvreur2, MagicSearch, Se04Search } echeck = None;
enum { NoneDup, BFS, DFS } dupexp = NoneDup;
bool magic_many = false;
bool expect_counter_example = false;
@ -347,6 +349,17 @@ main(int argc, char** argv)
degeneralize_opt = true;
magic_many = true;
}
else if (echeck_algo == "se05_search")
{
echeck = Se04Search;
degeneralize_opt = true;
}
else if (echeck_algo == "se05_search_repeated")
{
echeck = Se04Search;
degeneralize_opt = true;
magic_many = true;
}
else
{
std::cerr << "unknown emptiness-check: " << echeck_algo << std::endl;
@ -569,7 +582,12 @@ main(int argc, char** argv)
case MagicSearch:
ec_a = degeneralized;
ec = new spot::magic_search(degeneralized);
ec = spot::explicit_magic_search(degeneralized);
break;
case Se04Search:
ec_a = degeneralized;
ec = spot::explicit_se05_search(degeneralized);
break;
}