support for semi-deterministic property

* spot/twa/twa.hh (prop_semi_deterministic): New methods.
* spot/parseaut/parseaut.yy, spot/twaalgos/hoa.cc: Add support for the
semi-deterministic property.
* doc/org/concepts.org, doc/org/hoa.org: Document it.
* spot/twaalgos/isdet.cc,
spot/twaalgos/isdet.hh (is_semi_deterministic): New function.
* bin/autfilt.cc: Add --is-semi-deterministic.
* bin/common_aoutput.cc: Add --check=semi-deterministic.
* tests/core/semidet.test: New file.
* tests/Makefile.am: Add it.
* tests/core/parseaut.test, tests/core/readsave.test: Adjust.
This commit is contained in:
Alexandre Duret-Lutz 2016-12-29 16:37:43 +01:00
parent db5d9780f1
commit 4b01387817
14 changed files with 265 additions and 50 deletions

View file

@ -590,6 +590,19 @@ header: format-version header-items
"... 'properties: !unambiguous' given here");
}
}
auto sd = p.find("semi-deterministic");
if (sd != e)
{
a->prop_semi_deterministic(sd->second.val);
auto d = p.find("deterministic");
if (d != e && !sd->second.val && d->second.val)
{
error(d->second.loc,
"'properties: deterministic' contradicts...");
error(sd->second.loc,
"... 'properties: !semi-deterministic' given here");
}
}
}
}