* 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:
parent
c3e399c837
commit
9bea364e40
31 changed files with 836079 additions and 133 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue