* src/tgbaalgos/magic.hh: Fix a comment and remove se05 interface.

* src/tgbaalgos/magic.cc: Fix a comment.
* src/tgbaalgos/se05.hh: New file.
* src/tgbaalgos/se05.cc: Fix a comment.
* src/tgbaalgos/tau03.hh: New file.
* src/tgbaalgos/tau03.cc: New file.
* src/tgbaalgos/Makefile.am: Add it.
* src/tgbatest/ltl2tgba.cc: Add tau03 new emptiness check.
* src/tgbatest/randtgba.cc: Add tau03 new emptiness check.
* src/tgbatest/emptchkr: Fix a comment.
* src/tgbatest/tba_samples_from_spin/explicit1_1.tba,
src/tgbatest/tba_samples_from_spin/explicit1_2.tba,
src/tgbatest/tba_samples_from_spin/explicit1_3.tba,
src/tgbatest/tba_samples_from_spin/explicit1_4.tba,
src/tgbatest/tba_samples_from_spin/explicit1_5.tba,
src/tgbatest/tba_samples_from_spin/explicit1_6.tba,
src/tgbatest/tba_samples_from_spin/explicit1_7.tba,
src/tgbatest/tba_samples_from_spin/explicit1_8.tba,
src/tgbatest/tba_samples_from_spin/explicit1_9.tba,
src/tgbatest/tba_samples_from_spin/explicit2_1.tba,
src/tgbatest/tba_samples_from_spin/explicit2_2.tba,
src/tgbatest/tba_samples_from_spin/explicit2_3.tba,
src/tgbatest/tba_samples_from_spin/explicit2_4.tba,
src/tgbatest/tba_samples_from_spin/explicit2_5.tba,
src/tgbatest/tba_samples_from_spin/explicit2_6.tba,
src/tgbatest/tba_samples_from_spin/explicit2_7.tba,
src/tgbatest/tba_samples_from_spin/explicit2_8.tba,
src/tgbatest/tba_samples_from_spin/explicit2_9.tba: New files
* src/tgbatest/tba_samples_from_spin.test : New test.
* src/tgbatest/Makefile.am: Add it.
This commit is contained in:
Denis Poitrenaud 2004-11-17 17:07:25 +00:00
parent c3e399c837
commit 9bea364e40
31 changed files with 836079 additions and 133 deletions

View file

@ -36,6 +36,8 @@
#include "tgbaalgos/lbtt.hh"
#include "tgba/tgbatba.hh"
#include "tgbaalgos/magic.hh"
#include "tgbaalgos/se05.hh"
#include "tgbaalgos/tau03.hh"
#include "tgbaalgos/gtec/gtec.hh"
#include "tgbaalgos/gtec/ce.hh"
#include "tgbaparse/public.hh"
@ -125,7 +127,8 @@ syntax(char* prog)
<< " bsh_se05_search[(heap size in MB - 10MB by default)]"
<< std::endl
<< " bsh_se05_search_repeated[(heap size in MB - 10MB"
<< " by default)]" << std::endl;
<< " by default)]" << std::endl
<< " tau03_search" << std::endl;
exit(2);
}
@ -144,9 +147,10 @@ main(int argc, char** argv)
int output = 0;
int formula_index = 0;
std::string echeck_algo;
enum { None, Couvreur, Couvreur2, MagicSearch, Se05Search } echeck = None;
enum { None, Couvreur, Couvreur2, MagicSearch, Se05Search, Tau03Search }
echeck = None;
enum { NoneDup, BFS, DFS } dupexp = NoneDup;
bool magic_many = false;
bool search_many = false;
bool bit_state_hashing = false;
int heap_size = 10*1024*1024;
bool expect_counter_example = false;
@ -368,7 +372,7 @@ main(int argc, char** argv)
{
echeck = MagicSearch;
degeneralize_maybe = true;
magic_many = true;
search_many = true;
}
else if (echeck_algo == "bsh_magic_search")
{
@ -381,7 +385,7 @@ main(int argc, char** argv)
echeck = MagicSearch;
degeneralize_maybe = true;
bit_state_hashing = true;
magic_many = true;
search_many = true;
}
else if (echeck_algo == "se05_search")
{
@ -392,7 +396,7 @@ main(int argc, char** argv)
{
echeck = Se05Search;
degeneralize_maybe = true;
magic_many = true;
search_many = true;
}
else if (echeck_algo == "bsh_se05_search")
{
@ -405,7 +409,11 @@ main(int argc, char** argv)
echeck = Se05Search;
degeneralize_maybe = true;
bit_state_hashing = true;
magic_many = true;
search_many = true;
}
else if (echeck_algo == "tau03_search")
{
echeck = Tau03Search;
}
else
{
@ -649,6 +657,19 @@ main(int argc, char** argv)
else
ec = spot::explicit_se05_search(a);
break;
case Tau03Search:
if (a->number_of_acceptance_conditions() == 0)
{
std::cout << "To apply tau03_search, the automaton must have at "
<< "least on accepting condition. Try with another "
<< "algorithm." << std::endl;
}
else
{
ec = spot::explicit_tau03_search(a);
}
break;
}
if (ec)
@ -702,7 +723,7 @@ main(int argc, char** argv)
}
delete res;
}
while (magic_many);
while (search_many);
delete ec;
}