Add option -e54 to ltlgspn-ssp
This commit is contained in:
parent
8c0d1003b0
commit
d3b5e5bdad
4 changed files with 38 additions and 5 deletions
|
|
@ -1,3 +1,9 @@
|
|||
2008-08-07 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||||
|
||||
* iface/gspn/ltlgspn.cc: New option: -e54.
|
||||
* iface/gspn/ssp.hh, iface/gspn/ssp.cc: Add the
|
||||
reversed_double_inclusion boolean for this.
|
||||
|
||||
2008-06-12 Damien Lefortier <dam@lrde.epita.fr>
|
||||
|
||||
Add ELTL visitors in eltlvisit/ and start the ELTL translation (LACIM).
|
||||
|
|
|
|||
|
|
@ -73,7 +73,9 @@ syntax(char* prog)
|
|||
<< " -e4 use semi-d. incl. Couvreur's emptiness-check's "
|
||||
<< "shy variant"
|
||||
<< std::endl
|
||||
<< " -e45 mix of -e4 and -e5 " << std::endl
|
||||
<< " -e45 mix of -e4 and -e5 (semi.d. incl. before d.incl.)"
|
||||
<< std::endl
|
||||
<< " -e54 mix of -e5 and -e4 (the other way around)" << std::endl
|
||||
<< " -e5 use d. incl. Couvreur's emptiness-check's shy variant"
|
||||
<< std::endl
|
||||
<< " -e6 like -e5, but without inclusion checks in the "
|
||||
|
|
@ -116,6 +118,7 @@ main(int argc, char **argv)
|
|||
bool stack_inclusion = true;
|
||||
bool pushfront = false;
|
||||
bool double_inclusion = false;
|
||||
bool reversed_double_inclusion = false;
|
||||
bool no_decomp = false;
|
||||
#endif
|
||||
std::string dead = "true";
|
||||
|
|
@ -172,6 +175,12 @@ main(int argc, char **argv)
|
|||
check = Couvreur5;
|
||||
double_inclusion = true;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-e54"))
|
||||
{
|
||||
check = Couvreur5;
|
||||
double_inclusion = true;
|
||||
reversed_double_inclusion = true;
|
||||
}
|
||||
else if (!strcmp(argv[formula_index], "-e5"))
|
||||
{
|
||||
check = Couvreur5;
|
||||
|
|
@ -295,6 +304,7 @@ main(int argc, char **argv)
|
|||
case Couvreur5:
|
||||
ec = spot::couvreur99_check_ssp_shy(prod, stack_inclusion,
|
||||
double_inclusion,
|
||||
reversed_double_inclusion,
|
||||
no_decomp);
|
||||
break;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -994,7 +994,9 @@ namespace spot
|
|||
{
|
||||
public:
|
||||
couvreur99_check_shy_ssp(const tgba* a, bool stack_inclusion,
|
||||
bool double_inclusion, bool no_decomp)
|
||||
bool double_inclusion,
|
||||
bool reversed_double_inclusion,
|
||||
bool no_decomp)
|
||||
: couvreur99_check_shy(a,
|
||||
option_map(),
|
||||
numbered_state_heap_ssp_factory_semi::instance()),
|
||||
|
|
@ -1002,6 +1004,7 @@ namespace spot
|
|||
inclusion_count_stack(0),
|
||||
stack_inclusion(stack_inclusion),
|
||||
double_inclusion(double_inclusion),
|
||||
reversed_double_inclusion(reversed_double_inclusion),
|
||||
no_decomp(no_decomp)
|
||||
{
|
||||
onepass_ = true;
|
||||
|
|
@ -1022,6 +1025,7 @@ namespace spot
|
|||
unsigned inclusion_count_stack;
|
||||
bool stack_inclusion;
|
||||
bool double_inclusion;
|
||||
bool reversed_double_inclusion;
|
||||
bool no_decomp;
|
||||
|
||||
protected:
|
||||
|
|
@ -1110,6 +1114,7 @@ namespace spot
|
|||
{
|
||||
if (stack_inclusion
|
||||
&& double_inclusion
|
||||
&& !reversed_double_inclusion
|
||||
&& spot_inclusion(new_state->left(),
|
||||
old_state->left()))
|
||||
break;
|
||||
|
|
@ -1181,6 +1186,12 @@ namespace spot
|
|||
|
||||
break;
|
||||
}
|
||||
if (stack_inclusion
|
||||
&& double_inclusion
|
||||
&& reversed_double_inclusion
|
||||
&& spot_inclusion(new_state->left(),
|
||||
old_state->left()))
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1296,11 +1307,15 @@ namespace spot
|
|||
|
||||
couvreur99_check*
|
||||
couvreur99_check_ssp_shy(const tgba* ssp_automata, bool stack_inclusion,
|
||||
bool double_inclusion, bool no_decomp)
|
||||
bool double_inclusion,
|
||||
bool reversed_double_inclusion,
|
||||
bool no_decomp)
|
||||
{
|
||||
assert(dynamic_cast<const tgba_gspn_ssp*>(ssp_automata));
|
||||
return new couvreur99_check_shy_ssp(ssp_automata, stack_inclusion,
|
||||
double_inclusion, no_decomp);
|
||||
double_inclusion,
|
||||
reversed_double_inclusion,
|
||||
no_decomp);
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (C) 2003, 2004, 2006, 2007 Laboratoire d'Informatique de
|
||||
// Copyright (C) 2003, 2004, 2006, 2007, 2008 Laboratoire d'Informatique de
|
||||
// Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
||||
// Université Pierre et Marie Curie.
|
||||
//
|
||||
|
|
@ -58,6 +58,8 @@ namespace spot
|
|||
couvreur99_check* couvreur99_check_ssp_shy(const tgba* ssp_automata,
|
||||
bool stack_inclusion = true,
|
||||
bool double_inclusion = false,
|
||||
bool reversed_double_inclusion
|
||||
= false,
|
||||
bool no_decomp = false);
|
||||
|
||||
/// @}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue