hoa: add support for controllable-AP
* doc/spot.bib (perez.19.hoa): New entry. * spot/parseaut/public.hh: Mention it. * spot/parseaut/parseaut.yy, spot/parseaut/scanaut.ll: Learn to parse the controllable-AP header. * spot/twaalgos/hoa.cc: Print it. * tests/core/ltlsynt.test, tests/core/parseaut.test, tests/core/readsave.test, tests/python/_synthesis.ipynb, tests/python/except.py, tests/python/games.ipynb, tests/python/mealy.py, tests/python/synthesis.py: Adjust or augment test cases.
This commit is contained in:
parent
7cefe30d97
commit
8c33f959a3
14 changed files with 134 additions and 15 deletions
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2014-2021 Laboratoire de Recherche et
|
||||
// Copyright (C) 2014-2022 Laboratoire de Recherche et
|
||||
// Developpement de l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -627,6 +627,22 @@ namespace spot
|
|||
}
|
||||
os << nl;
|
||||
}
|
||||
if (auto synout = aut->get_named_prop<bdd>("synthesis-outputs"))
|
||||
{
|
||||
bdd vars = bdd_support(*synout);
|
||||
os << "controllable-AP:";
|
||||
while (vars != bddtrue)
|
||||
{
|
||||
int v = bdd_var(vars);
|
||||
vars = bdd_high(vars);
|
||||
if (auto p = md.ap.find(v); p != md.ap.end())
|
||||
os << ' ' << p->second;
|
||||
else
|
||||
throw std::runtime_error("print_hoa(): synthesis-outputs has "
|
||||
"unregistered proposition");
|
||||
}
|
||||
os << nl;
|
||||
}
|
||||
|
||||
// If we want to output implicit labels, we have to
|
||||
// fill a vector with all destinations in order.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue