Track finite formulae.
I.e., SERE without star, or LTL formula using only X and Boolean operators. * src/ltlast/formula.hh, src/ltlast/formula.cc: Add a bit for tracking finite formulas. * src/ltlast/atomic_prop.cc, src/ltlast/automatop.cc, src/ltlast/bunop.cc, src/ltlast/constant.cc, src/ltlast/formula.cc: Adjust. * src/ltlast/unop.cc, src/ltlast/binop.cc: Adjust and use that bit to refine the computation of some LTL classes. * src/ltltest/kind.test: New tests.
This commit is contained in:
parent
df760a4597
commit
fb386209aa
9 changed files with 84 additions and 31 deletions
|
|
@ -51,11 +51,14 @@ namespace spot
|
|||
switch (op_)
|
||||
{
|
||||
case Star:
|
||||
if (max_ == unbounded)
|
||||
is.finite = false;
|
||||
if (min_ == 0)
|
||||
is.accepting_eword = true;
|
||||
break;
|
||||
case Equal:
|
||||
case Goto:
|
||||
is.finite = false;
|
||||
is.accepting_eword = (min_ == 0);
|
||||
// Equal and Goto can only apply to Boolean formulae.
|
||||
assert(child->is_boolean());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue