parseaut: Add a trust_hoa option.

Fixes #114.

* src/parseaut/public.hh: Add support for a trust_hoa option.
* src/parseaut/parseaut.yy: If trust_hoa is set, recognize the
"inherently-weak" and "stutter-invariant" properties.
* src/bin/common_conv.cc, src/bin/common_conv.hh (read_automaton):
Move...
* src/bin/common_hoaread.cc, src/bin/common_hoaread.hh: ... in this
new file, that also handle the --trust-hoa option.
* src/bin/Makefile.am: Add them.
* src/bin/autfilt.cc, src/bin/dstar2tgba.cc, src/bin/ltlcross.cc,
src/bin/ltldo.cc: Use them.
* src/tests/parseaut.test, src/tests/ltldo.test: Adjust, and test
--trust-hoa=no.
* src/tests/complement.test, src/tests/prodor.test,
src/tests/sbacc.test: Adjust.
* wrap/python/spot.py (automata): Add option trust_hoa.
* NEWS: Update.
This commit is contained in:
Alexandre Duret-Lutz 2015-10-22 23:56:13 +02:00
parent 585e29e7d8
commit 51a75a316d
18 changed files with 221 additions and 38 deletions

View file

@ -38,6 +38,7 @@
#include "common_trans.hh"
#include "common_file.hh"
#include "common_finput.hh"
#include "common_hoaread.hh"
#include "parseaut/public.hh"
#include "tl/print.hh"
#include "tl/apcollect.hh"
@ -160,6 +161,7 @@ const struct argp_child children[] =
{
{ &finput_argp, 0, nullptr, 1 },
{ &trans_argp, 0, nullptr, 0 },
{ &hoaread_argp, 0, "Parsing of automata:", 4 },
{ &misc_argp, 0, nullptr, -2 },
{ nullptr, 0, nullptr, 0 }
};
@ -548,7 +550,9 @@ namespace
spot::parse_aut_error_list pel;
std::string filename = output.val()->name();
auto aut = spot::parse_aut(filename, pel, dict);
auto aut = spot::parse_aut(filename, pel, dict,
spot::default_environment::instance(),
opt_parse);
if (!pel.empty())
{
status_str = "parse error";