tl: mp_class() and --format=%[vw]h
Tools for deciding the class of a formula. * spot/tl/hierarchy.cc, spot/tl/hierarchy.hh: New files. * spot/tl/Makefile.am: Add them. * bin/common_output.cc, bin/common_output.hh: Implement --format=%h. * tests/core/hierarchy.test: More tests. * NEWS: Update.
This commit is contained in:
parent
de8a248fb2
commit
7d9ce0d6fc
7 changed files with 276 additions and 11 deletions
40
spot/tl/hierarchy.hh
Normal file
40
spot/tl/hierarchy.hh
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2017 Laboratoire de Recherche et Développement de
|
||||
// l'Epita (LRDE)
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
//
|
||||
// Spot is free software; you can redistribute it and/or modify it
|
||||
// under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Spot is distributed in the hope that it will be useful, but WITHOUT
|
||||
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||
// License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <spot/tl/formula.hh>
|
||||
|
||||
namespace spot
|
||||
{
|
||||
/// \brief Return the class of \a f in the temporal hierarchy of Manna
|
||||
/// and Pnueli (PODC'90).
|
||||
///
|
||||
/// The class is indicated using a character among:
|
||||
/// - 'B' (bottom) safety properties that are also guarantee properties
|
||||
/// - 'G' guarantee properties that are not also safety properties
|
||||
/// - 'S' safety properties that are not also guarantee properties
|
||||
/// - 'O' obligation properties that are not safety or guarantee
|
||||
/// properties
|
||||
/// - 'P' persistence properties that are not obligations
|
||||
/// - 'R' recurrence properties that are not obligations
|
||||
/// - 'T' (top) properties that are not persistence or recurrence
|
||||
/// properties
|
||||
SPOT_API char mp_class(formula f);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue