Use -fvisibility=hidden in src/ltlast/, src/ltlvisit/, and src/ltlenv/.
* src/ltlast/Makefile.am, src/ltlenv/Makefile.am, src/ltlvisit/Makefile.am: Use $(VISIBILITY_CXXFLAGS). * src/misc/common.hh (SPOT_DEPRECATED): New macro. * src/ltlast/atomic_prop.hh, src/ltlast/automatop.hh, src/ltlast/binop.hh, src/ltlast/bunop.hh, src/ltlast/constant.hh, src/ltlast/formula.hh, src/ltlast/formula_tree.hh, src/ltlast/multop.hh, src/ltlast/nfa.hh, src/ltlast/refformula.hh, src/ltlast/unop.hh, src/ltlast/visitor.hh, src/ltlenv/declenv.hh, src/ltlenv/defaultenv.hh, src/ltlvisit/apcollect.hh, src/ltlvisit/clone.hh, src/ltlvisit/contain.hh, src/ltlvisit/destroy.hh, src/ltlvisit/dotty.hh, src/ltlvisit/dump.hh, src/ltlvisit/lbt.hh, src/ltlvisit/length.hh, src/ltlvisit/lunabbrev.hh, src/ltlvisit/nenoform.hh, src/ltlvisit/postfix.hh, src/ltlvisit/randomltl.hh, src/ltlvisit/reduce.hh, src/ltlvisit/relabel.hh, src/ltlvisit/remove_x.hh, src/ltlvisit/simpfg.hh, src/ltlvisit/simplify.hh, src/ltlvisit/snf.hh, src/ltlvisit/tostring.hh, src/ltlvisit/tunabbrev.hh, src/ltlvisit/wmunabbrev.hh: Add SPOT_API in fron of exported symbols. * src/ltlvisit/nenoform.cc, src/ltlvisit/remove_x.cc: Add missing include of the corresponding header file.
This commit is contained in:
parent
cbfbf14297
commit
8ba3e64f0a
41 changed files with 180 additions and 157 deletions
|
|
@ -1,7 +1,8 @@
|
||||||
## Copyright (C) 2009, 2010, 2011 Laboratoire de Recherche et
|
## -*- coding: utf-8 -*-
|
||||||
## Développement de l'Epita (LRDE).
|
## Copyright (C) 2009, 2010, 2011, 2013 Laboratoire de Recherche et
|
||||||
|
## Développement de l'Epita (LRDE).
|
||||||
## Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6),
|
## Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
## département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
## département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
## et Marie Curie.
|
## et Marie Curie.
|
||||||
##
|
##
|
||||||
## This file is part of Spot, a model checking library.
|
## This file is part of Spot, a model checking library.
|
||||||
|
|
@ -20,7 +21,7 @@
|
||||||
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
AM_CPPFLAGS = -I$(srcdir)/.. -I..
|
AM_CPPFLAGS = -I$(srcdir)/.. -I..
|
||||||
AM_CXXFLAGS = $(WARNING_CXXFLAGS)
|
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(VISIBILITY_CXXFLAGS)
|
||||||
|
|
||||||
ltlastdir = $(pkgincludedir)/ltlast
|
ltlastdir = $(pkgincludedir)/ltlast
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2009, 2012 Laboratoire de Recherche et Développement
|
// Copyright (C) 2009, 2012, 2013 Laboratoire de Recherche et
|
||||||
// de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
|
|
@ -25,10 +25,10 @@
|
||||||
#ifndef SPOT_LTLAST_ATOMIC_PROP_HH
|
#ifndef SPOT_LTLAST_ATOMIC_PROP_HH
|
||||||
# define SPOT_LTLAST_ATOMIC_PROP_HH
|
# define SPOT_LTLAST_ATOMIC_PROP_HH
|
||||||
|
|
||||||
|
#include "refformula.hh"
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <iosfwd>
|
#include <iosfwd>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include "refformula.hh"
|
|
||||||
#include "ltlenv/environment.hh"
|
#include "ltlenv/environment.hh"
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
|
|
@ -38,7 +38,7 @@ namespace spot
|
||||||
|
|
||||||
/// \ingroup ltl_ast
|
/// \ingroup ltl_ast
|
||||||
/// \brief Atomic propositions.
|
/// \brief Atomic propositions.
|
||||||
class atomic_prop : public ref_formula
|
class SPOT_API atomic_prop : public ref_formula
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// Build an atomic proposition with name \a name in
|
/// Build an atomic proposition with name \a name in
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2008, 2009, 2012 Laboratoire de Recherche et
|
// Copyright (C) 2008, 2009, 2012, 2013 Laboratoire de Recherche et
|
||||||
// Développement de l'Epita (LRDE)
|
// Développement de l'Epita (LRDE)
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -22,11 +22,11 @@
|
||||||
#ifndef SPOT_LTLAST_AUTOMATOP_HH
|
#ifndef SPOT_LTLAST_AUTOMATOP_HH
|
||||||
# define SPOT_LTLAST_AUTOMATOP_HH
|
# define SPOT_LTLAST_AUTOMATOP_HH
|
||||||
|
|
||||||
|
# include "refformula.hh"
|
||||||
# include <vector>
|
# include <vector>
|
||||||
# include <iosfwd>
|
# include <iosfwd>
|
||||||
# include <map>
|
# include <map>
|
||||||
# include "nfa.hh"
|
# include "nfa.hh"
|
||||||
# include "refformula.hh"
|
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
{
|
{
|
||||||
|
|
@ -35,7 +35,7 @@ namespace spot
|
||||||
/// \ingroup eltl_ast
|
/// \ingroup eltl_ast
|
||||||
/// \brief Automaton operators.
|
/// \brief Automaton operators.
|
||||||
///
|
///
|
||||||
class automatop : public ref_formula
|
class SPOT_API automatop : public ref_formula
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// List of formulae.
|
/// List of formulae.
|
||||||
|
|
|
||||||
|
|
@ -28,9 +28,9 @@
|
||||||
#ifndef SPOT_LTLAST_BINOP_HH
|
#ifndef SPOT_LTLAST_BINOP_HH
|
||||||
# define SPOT_LTLAST_BINOP_HH
|
# define SPOT_LTLAST_BINOP_HH
|
||||||
|
|
||||||
|
#include "refformula.hh"
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <iosfwd>
|
#include <iosfwd>
|
||||||
#include "refformula.hh"
|
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
{
|
{
|
||||||
|
|
@ -39,7 +39,7 @@ namespace spot
|
||||||
|
|
||||||
/// \ingroup ltl_ast
|
/// \ingroup ltl_ast
|
||||||
/// \brief Binary operator.
|
/// \brief Binary operator.
|
||||||
class binop : public ref_formula
|
class SPOT_API binop : public ref_formula
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// Different kinds of binary opertaors
|
/// Different kinds of binary opertaors
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2010, 2011, 2012 Laboratoire de Recherche et Développement
|
// -*- coding: utf-8 -*-
|
||||||
// de l'Epita (LRDE).
|
// Copyright (C) 2010, 2011, 2012, 2013 Laboratoire de Recherche et
|
||||||
|
// Développement de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -21,9 +22,9 @@
|
||||||
#ifndef SPOT_LTLAST_BUNOP_HH
|
#ifndef SPOT_LTLAST_BUNOP_HH
|
||||||
# define SPOT_LTLAST_BUNOP_HH
|
# define SPOT_LTLAST_BUNOP_HH
|
||||||
|
|
||||||
|
#include "refformula.hh"
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <iosfwd>
|
#include <iosfwd>
|
||||||
#include "refformula.hh"
|
|
||||||
#include "constant.hh"
|
#include "constant.hh"
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
|
|
@ -33,7 +34,7 @@ namespace spot
|
||||||
|
|
||||||
/// \ingroup ltl_ast
|
/// \ingroup ltl_ast
|
||||||
/// \brief Bounded unary operator.
|
/// \brief Bounded unary operator.
|
||||||
class bunop : public ref_formula
|
class SPOT_API bunop : public ref_formula
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum type { Star };
|
enum type { Star };
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
// Copyright (C) 2009, 2010, 2012 Laboratoire de Recherche et
|
// -*- coding: utf-8 -*-
|
||||||
|
// Copyright (C) 2009, 2010, 2012, 2013 Laboratoire de Recherche et
|
||||||
// Développement de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
//
|
//
|
||||||
|
|
@ -31,7 +32,7 @@ namespace spot
|
||||||
|
|
||||||
/// \ingroup ltl_ast
|
/// \ingroup ltl_ast
|
||||||
/// \brief A constant (True or False)
|
/// \brief A constant (True or False)
|
||||||
class constant : public formula
|
class SPOT_API constant : public formula
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum type { False, True, EmptyWord };
|
enum type { False, True, EmptyWord };
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2008, 2009, 2010, 2011, 2012 Laboratoire de Recherche
|
// Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 Laboratoire de
|
||||||
// et Développement de l'Epita (LRDE).
|
// Recherche et Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de
|
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -23,6 +23,7 @@
|
||||||
#ifndef SPOT_LTLAST_FORMULA_HH
|
#ifndef SPOT_LTLAST_FORMULA_HH
|
||||||
# define SPOT_LTLAST_FORMULA_HH
|
# define SPOT_LTLAST_FORMULA_HH
|
||||||
|
|
||||||
|
#include "misc/common.hh"
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include "predecl.hh"
|
#include "predecl.hh"
|
||||||
|
|
@ -68,7 +69,7 @@ namespace spot
|
||||||
///
|
///
|
||||||
/// The only way you can work with a formula is to
|
/// The only way you can work with a formula is to
|
||||||
/// build a spot::ltl::visitor or spot::ltl::const_visitor.
|
/// build a spot::ltl::visitor or spot::ltl::const_visitor.
|
||||||
class formula
|
class SPOT_API formula
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// Kind of a sub-formula
|
/// Kind of a sub-formula
|
||||||
|
|
@ -420,11 +421,13 @@ namespace spot
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Print the properties of formula \a f on stream \a out.
|
/// Print the properties of formula \a f on stream \a out.
|
||||||
|
SPOT_API
|
||||||
std::ostream& print_formula_props(std::ostream& out,
|
std::ostream& print_formula_props(std::ostream& out,
|
||||||
const formula* f,
|
const formula* f,
|
||||||
bool abbreviated = false);
|
bool abbreviated = false);
|
||||||
|
|
||||||
/// List the properties of formula \a f.
|
/// List the properties of formula \a f.
|
||||||
|
SPOT_API
|
||||||
std::list<std::string> list_formula_props(const formula* f);
|
std::list<std::string> list_formula_props(const formula* f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2009, 2012 Laboratoire de Recherche et Développement
|
// -*- coding: utf-8 -*-
|
||||||
// de l'Epita (LRDE).
|
// Copyright (C) 2009, 2012, 2013 Laboratoire de Recherche et
|
||||||
|
// Développement de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -21,9 +22,9 @@
|
||||||
#ifndef SPOT_LTLAST_FORMULA_TREE_HH
|
#ifndef SPOT_LTLAST_FORMULA_TREE_HH
|
||||||
# define SPOT_LTLAST_FORMULA_TREE_HH
|
# define SPOT_LTLAST_FORMULA_TREE_HH
|
||||||
|
|
||||||
|
# include "formula.hh"
|
||||||
# include <vector>
|
# include <vector>
|
||||||
# include <boost/shared_ptr.hpp>
|
# include <boost/shared_ptr.hpp>
|
||||||
# include "formula.hh"
|
|
||||||
# include "multop.hh"
|
# include "multop.hh"
|
||||||
# include "binop.hh"
|
# include "binop.hh"
|
||||||
# include "unop.hh"
|
# include "unop.hh"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2009, 2010, 2011, 2012 Laboratoire de Recherche et
|
// -*- coding: utf-8 -*-
|
||||||
// Développement de l'Epita (LRDE).
|
// Copyright (C) 2009, 2010, 2011, 2012, 2013 Laboratoire de Recherche
|
||||||
|
// et Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris
|
||||||
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
||||||
// Université Pierre et Marie Curie.
|
// Université Pierre et Marie Curie.
|
||||||
|
|
@ -24,10 +25,10 @@
|
||||||
#ifndef SPOT_LTLAST_MULTOP_HH
|
#ifndef SPOT_LTLAST_MULTOP_HH
|
||||||
# define SPOT_LTLAST_MULTOP_HH
|
# define SPOT_LTLAST_MULTOP_HH
|
||||||
|
|
||||||
|
#include "refformula.hh"
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <iosfwd>
|
#include <iosfwd>
|
||||||
#include "refformula.hh"
|
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
{
|
{
|
||||||
|
|
@ -36,7 +37,7 @@ namespace spot
|
||||||
|
|
||||||
/// \ingroup ltl_ast
|
/// \ingroup ltl_ast
|
||||||
/// \brief Multi-operand operators.
|
/// \brief Multi-operand operators.
|
||||||
class multop : public ref_formula
|
class SPOT_API multop : public ref_formula
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum type { Or, OrRat, And, AndRat, AndNLM, Concat, Fusion };
|
enum type { Or, OrRat, And, AndRat, AndNLM, Concat, Fusion };
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2008, 2010 Laboratoire de Recherche et Développement
|
// -*- coding: utf-8 -*-
|
||||||
// de l'Epita (LRDE).
|
// Copyright (C) 2008, 2010, 2013 Laboratoire de Recherche et
|
||||||
|
// Développement de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -21,6 +22,7 @@
|
||||||
#ifndef SPOT_LTLAST_NFA_HH
|
#ifndef SPOT_LTLAST_NFA_HH
|
||||||
# define SPOT_LTLAST_NFA_HH
|
# define SPOT_LTLAST_NFA_HH
|
||||||
|
|
||||||
|
# include "misc/common.hh"
|
||||||
# include "misc/hash.hh"
|
# include "misc/hash.hh"
|
||||||
# include <boost/shared_ptr.hpp>
|
# include <boost/shared_ptr.hpp>
|
||||||
# include <list>
|
# include <list>
|
||||||
|
|
@ -32,7 +34,7 @@ namespace spot
|
||||||
namespace ltl
|
namespace ltl
|
||||||
{
|
{
|
||||||
/// Forward declaration. See below.
|
/// Forward declaration. See below.
|
||||||
class succ_iterator;
|
class SPOT_API succ_iterator;
|
||||||
/// Forward declaration. NFA's labels are reprensented by nodes
|
/// Forward declaration. NFA's labels are reprensented by nodes
|
||||||
/// which are defined in formula_tree.hh, included in nfa.cc.
|
/// which are defined in formula_tree.hh, included in nfa.cc.
|
||||||
namespace formula_tree
|
namespace formula_tree
|
||||||
|
|
@ -45,7 +47,7 @@ namespace spot
|
||||||
/// States are represented by integers.
|
/// States are represented by integers.
|
||||||
/// Labels are represented by formula_tree's nodes.
|
/// Labels are represented by formula_tree's nodes.
|
||||||
/// Currently, only one initial state is possible.
|
/// Currently, only one initial state is possible.
|
||||||
class nfa
|
class SPOT_API nfa
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
struct transition;
|
struct transition;
|
||||||
|
|
@ -118,7 +120,7 @@ namespace spot
|
||||||
nfa& operator=(const nfa& other);
|
nfa& operator=(const nfa& other);
|
||||||
};
|
};
|
||||||
|
|
||||||
class succ_iterator
|
class SPOT_API succ_iterator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
succ_iterator(const nfa::state::const_iterator s)
|
succ_iterator(const nfa::state::const_iterator s)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2010, 2012 Laboratoire de Recherche de Developpement
|
// Copyright (C) 2010, 2012, 2013 Laboratoire de Recherche de
|
||||||
// de l'EPITA (LRDE).
|
// Développement de l'EPITA (LRDE).
|
||||||
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris
|
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris
|
||||||
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
||||||
// Université Pierre et Marie Curie.
|
// Université Pierre et Marie Curie.
|
||||||
|
|
@ -34,7 +34,7 @@ namespace spot
|
||||||
|
|
||||||
/// \ingroup ltl_ast
|
/// \ingroup ltl_ast
|
||||||
/// \brief A reference-counted LTL formula.
|
/// \brief A reference-counted LTL formula.
|
||||||
class ref_formula : public formula
|
class SPOT_API ref_formula : public formula
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
virtual ~ref_formula();
|
virtual ~ref_formula();
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
// Copyright (C) 2009, 2010, 2011, 2012 Laboratoire de Recherche et
|
// -*- coding: utf-8 -*-
|
||||||
// Développement de l'Epita (LRDE).
|
// Copyright (C) 2009, 2010, 2011, 2012, 2013 Laboratoire de Recherche
|
||||||
|
// et Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris
|
||||||
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
||||||
// Université Pierre et Marie Curie.
|
// Université Pierre et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -36,7 +37,7 @@ namespace spot
|
||||||
|
|
||||||
/// \ingroup ltl_ast
|
/// \ingroup ltl_ast
|
||||||
/// \brief Unary operators.
|
/// \brief Unary operators.
|
||||||
class unop : public ref_formula
|
class SPOT_API unop : public ref_formula
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum type {
|
enum type {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
// Copyright (C) 2009, 2010, 2012 Laboratoire de Recherche et Développement
|
// -*- coding: utf-8 -*-
|
||||||
// de l'Epita (LRDE).
|
// Copyright (C) 2009, 2010, 2012, 2013 Laboratoire de Recherche et
|
||||||
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -24,7 +25,8 @@
|
||||||
#ifndef SPOT_LTLAST_VISITOR_HH
|
#ifndef SPOT_LTLAST_VISITOR_HH
|
||||||
# define SPOT_LTLAST_VISITOR_HH
|
# define SPOT_LTLAST_VISITOR_HH
|
||||||
|
|
||||||
#include "predecl.hh"
|
# include "misc/common.hh"
|
||||||
|
# include "predecl.hh"
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
{
|
{
|
||||||
|
|
@ -36,7 +38,7 @@ namespace spot
|
||||||
/// Implementing visitors is the prefered way
|
/// Implementing visitors is the prefered way
|
||||||
/// to traverse a formula, since it does not
|
/// to traverse a formula, since it does not
|
||||||
/// involve any cast.
|
/// involve any cast.
|
||||||
struct visitor
|
struct SPOT_API visitor
|
||||||
{
|
{
|
||||||
virtual ~visitor() {}
|
virtual ~visitor() {}
|
||||||
virtual void visit(const atomic_prop* node) = 0;
|
virtual void visit(const atomic_prop* node) = 0;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
## Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
## Copyright (C) 2003, 2004, 2013 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
## département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
## département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
## et Marie Curie.
|
## et Marie Curie.
|
||||||
##
|
##
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
AM_CPPFLAGS = -I$(srcdir)/..
|
AM_CPPFLAGS = -I$(srcdir)/..
|
||||||
AM_CXXFLAGS = $(WARNING_CXXFLAGS)
|
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(VISIBILITY_CXXFLAGS)
|
||||||
|
|
||||||
ltlenvdir = $(pkgincludedir)/ltlenv
|
ltlenvdir = $(pkgincludedir)/ltlenv
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2009, 2012 Laboratoire de Recherche et Développement
|
// Copyright (C) 2009, 2012, 2013 Laboratoire de Recherche et
|
||||||
// de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
|
|
@ -38,7 +38,7 @@ namespace spot
|
||||||
///
|
///
|
||||||
/// This environment recognizes all atomic propositions
|
/// This environment recognizes all atomic propositions
|
||||||
/// that have been previously declared. It will reject other.
|
/// that have been previously declared. It will reject other.
|
||||||
class declarative_environment : public environment
|
class SPOT_API declarative_environment : public environment
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
declarative_environment();
|
declarative_environment();
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2012 Laboratoire de Recherche et Développement
|
// Copyright (C) 2012, 2013 Laboratoire de Recherche et Développement
|
||||||
// de l'Epita (LRDE).
|
// de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
|
|
@ -37,7 +37,7 @@ namespace spot
|
||||||
///
|
///
|
||||||
/// This is a singleton. Use default_environment::instance()
|
/// This is a singleton. Use default_environment::instance()
|
||||||
/// to obtain the instance.
|
/// to obtain the instance.
|
||||||
class default_environment : public environment
|
class SPOT_API default_environment : public environment
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual ~default_environment();
|
virtual ~default_environment();
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
AM_CPPFLAGS = -I$(srcdir)/.. -I.. $(BUDDY_CPPFLAGS)
|
AM_CPPFLAGS = -I$(srcdir)/.. -I.. $(BUDDY_CPPFLAGS)
|
||||||
AM_CXXFLAGS = $(WARNING_CXXFLAGS)
|
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(VISIBILITY_CXXFLAGS)
|
||||||
|
|
||||||
ltlvisitdir = $(pkgincludedir)/ltlvisit
|
ltlvisitdir = $(pkgincludedir)/ltlvisit
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2012 Laboratoire de Recherche et Développement
|
// Copyright (C) 2012, 2013 Laboratoire de Recherche et Développement
|
||||||
// de l'Epita (LRDE).
|
// de l'Epita (LRDE).
|
||||||
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
|
|
@ -23,8 +23,8 @@
|
||||||
#ifndef SPOT_LTLVISIT_APCOLLECT_HH
|
#ifndef SPOT_LTLVISIT_APCOLLECT_HH
|
||||||
# define SPOT_LTLVISIT_APCOLLECT_HH
|
# define SPOT_LTLVISIT_APCOLLECT_HH
|
||||||
|
|
||||||
#include <set>
|
|
||||||
#include "ltlast/atomic_prop.hh"
|
#include "ltlast/atomic_prop.hh"
|
||||||
|
#include <set>
|
||||||
#include "bdd.h"
|
#include "bdd.h"
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
|
|
@ -50,7 +50,7 @@ namespace spot
|
||||||
/// set containing all these atomic propositions if \c s is 0.
|
/// set containing all these atomic propositions if \c s is 0.
|
||||||
/// The atomic propositions inserted into \a s are not cloned, so
|
/// The atomic propositions inserted into \a s are not cloned, so
|
||||||
/// they are only valid as long as \a f is.
|
/// they are only valid as long as \a f is.
|
||||||
atomic_prop_set*
|
SPOT_API atomic_prop_set*
|
||||||
atomic_prop_collect(const formula* f, atomic_prop_set* s = 0);
|
atomic_prop_collect(const formula* f, atomic_prop_set* s = 0);
|
||||||
|
|
||||||
/// \brief Return the set of atomic propositions occurring in a
|
/// \brief Return the set of atomic propositions occurring in a
|
||||||
|
|
@ -59,7 +59,7 @@ namespace spot
|
||||||
/// \param f the formula to inspect
|
/// \param f the formula to inspect
|
||||||
/// \param a that automaton that should register the BDD variables used.
|
/// \param a that automaton that should register the BDD variables used.
|
||||||
/// \return A conjunction the atomic propositions.
|
/// \return A conjunction the atomic propositions.
|
||||||
bdd
|
SPOT_API bdd
|
||||||
atomic_prop_collect_as_bdd(const formula* f, const tgba* a);
|
atomic_prop_collect_as_bdd(const formula* f, const tgba* a);
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2009, 2010, 2012 Laboratoire de Recherche et
|
// Copyright (C) 2009, 2010, 2012, 2013 Laboratoire de Recherche et
|
||||||
// Développement de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
|
|
@ -37,7 +37,7 @@ namespace spot
|
||||||
/// to derive from it and override part of its methods.
|
/// to derive from it and override part of its methods.
|
||||||
/// But if you just want the functionality, consider using
|
/// But if you just want the functionality, consider using
|
||||||
/// spot::ltl::formula::clone instead, it is way faster.
|
/// spot::ltl::formula::clone instead, it is way faster.
|
||||||
class clone_visitor : public visitor
|
class SPOT_API clone_visitor : public visitor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
clone_visitor();
|
clone_visitor();
|
||||||
|
|
@ -59,17 +59,11 @@ namespace spot
|
||||||
const formula* result_;
|
const formula* result_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#if __GNUC__
|
|
||||||
/// \ingroup ltl_essential
|
/// \ingroup ltl_essential
|
||||||
/// \brief Clone a formula.
|
/// \brief Clone a formula.
|
||||||
/// \deprecated Use f->clone() instead.
|
/// \deprecated Use f->clone() instead.
|
||||||
|
SPOT_API SPOT_DEPRECATED
|
||||||
const formula* clone(const formula* f) __attribute__ ((deprecated));
|
const formula* clone(const formula* f) __attribute__ ((deprecated));
|
||||||
#else
|
|
||||||
/// \ingroup ltl_essential
|
|
||||||
/// \brief Clone a formula.
|
|
||||||
/// \deprecated Use f->clone() instead.
|
|
||||||
const formula* clone(const formula* f);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
// Copyright (C) 2011, 2012 Laboratoire de Recherche et Developpement de
|
// -*- coding: utf-8 -*-
|
||||||
// l'Epita (LRDE).
|
// Copyright (C) 2011, 2012, 2013 Laboratoire de Recherche et
|
||||||
|
// Developpement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2006 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2006 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -31,8 +32,8 @@ namespace spot
|
||||||
{
|
{
|
||||||
namespace ltl
|
namespace ltl
|
||||||
{
|
{
|
||||||
// Check containment of language represented by LTL formulae.
|
/// Check containment between LTL formulae.
|
||||||
class language_containment_checker
|
class SPOT_API language_containment_checker
|
||||||
{
|
{
|
||||||
struct record_
|
struct record_
|
||||||
{
|
{
|
||||||
|
|
@ -44,7 +45,7 @@ namespace spot
|
||||||
record_, formula_ptr_hash> trans_map;
|
record_, formula_ptr_hash> trans_map;
|
||||||
public:
|
public:
|
||||||
/// This class uses spot::ltl_to_tgba_fm to translate LTL
|
/// This class uses spot::ltl_to_tgba_fm to translate LTL
|
||||||
/// formulae. See that class for the meaning of these options.
|
/// formulae. See that function for the meaning of these options.
|
||||||
language_containment_checker(bdd_dict* dict, bool exprop,
|
language_containment_checker(bdd_dict* dict, bool exprop,
|
||||||
bool symb_merge,
|
bool symb_merge,
|
||||||
bool branching_postponement,
|
bool branching_postponement,
|
||||||
|
|
@ -106,13 +107,9 @@ namespace spot
|
||||||
/// reduce some U, R, and X usages.
|
/// reduce some U, R, and X usages.
|
||||||
///
|
///
|
||||||
/// \deprecated Use spot::ltl::ltl_simplifier instead.
|
/// \deprecated Use spot::ltl::ltl_simplifier instead.
|
||||||
#if __GNUC__
|
SPOT_API SPOT_DEPRECATED
|
||||||
const formula* reduce_tau03(const formula* f,
|
const formula* reduce_tau03(const formula* f,
|
||||||
bool stronger = true)
|
bool stronger = true);
|
||||||
__attribute__ ((deprecated));
|
|
||||||
#else
|
|
||||||
const formula* reduce_tau03(const formula* f, bool stronger = true);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
// Copyright (C) 2009 Laboratoire de Recherche et Développement
|
// -*- coding: utf-8 -*-
|
||||||
|
// Copyright (C) 2009, 2013 Laboratoire de Recherche et Développement
|
||||||
// de l'Epita (LRDE).
|
// de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -22,23 +23,18 @@
|
||||||
#ifndef SPOT_LTLVISIT_DESTROY_HH
|
#ifndef SPOT_LTLVISIT_DESTROY_HH
|
||||||
# define SPOT_LTLVISIT_DESTROY_HH
|
# define SPOT_LTLVISIT_DESTROY_HH
|
||||||
|
|
||||||
#include "ltlvisit/postfix.hh"
|
# include "misc/common.hh"
|
||||||
|
# include "ltlvisit/postfix.hh"
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
{
|
{
|
||||||
namespace ltl
|
namespace ltl
|
||||||
{
|
{
|
||||||
#if __GNUC__
|
|
||||||
/// \ingroup ltl_essential
|
|
||||||
/// \brief Destroys a formula
|
|
||||||
/// \deprecated Use f->destroy() instead.
|
|
||||||
void destroy(const formula *f) __attribute__ ((deprecated));
|
|
||||||
#else
|
|
||||||
/// \ingroup ltl_essential
|
/// \ingroup ltl_essential
|
||||||
/// \brief Destroys a formula
|
/// \brief Destroys a formula
|
||||||
/// \deprecated Use f->destroy() instead.
|
/// \deprecated Use f->destroy() instead.
|
||||||
|
SPOT_API SPOT_DEPRECATED
|
||||||
void destroy(const formula *f);
|
void destroy(const formula *f);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
|
// -*- coding: utf-8 -*-
|
||||||
|
// Copyright (C) 2013 Laboratoire de Recherche et Développement
|
||||||
|
// de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -34,6 +37,7 @@ namespace spot
|
||||||
///
|
///
|
||||||
/// \c dot is part of the GraphViz package
|
/// \c dot is part of the GraphViz package
|
||||||
/// http://www.research.att.com/sw/tools/graphviz/
|
/// http://www.research.att.com/sw/tools/graphviz/
|
||||||
|
SPOT_API
|
||||||
std::ostream& dotty(std::ostream& os, const formula* f);
|
std::ostream& dotty(std::ostream& os, const formula* f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
|
// -*- coding: utf-8 -*-
|
||||||
|
// Copyright (C) 2013 Laboratoire de Recherche et Développement de
|
||||||
|
// l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -33,6 +36,7 @@ namespace spot
|
||||||
/// \param f The formula to dump.
|
/// \param f The formula to dump.
|
||||||
///
|
///
|
||||||
/// This is useful to display a formula when debugging.
|
/// This is useful to display a formula when debugging.
|
||||||
|
SPOT_API
|
||||||
std::ostream& dump(std::ostream& os, const formula* f);
|
std::ostream& dump(std::ostream& os, const formula* f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2012 Laboratoire de Recherche et
|
// Copyright (C) 2012, 2013 Laboratoire de Recherche et
|
||||||
// Développement de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -41,7 +41,7 @@ namespace spot
|
||||||
///
|
///
|
||||||
/// \param f The formula to translate.
|
/// \param f The formula to translate.
|
||||||
/// \param os The stream where it should be output.
|
/// \param os The stream where it should be output.
|
||||||
std::ostream&
|
SPOT_API std::ostream&
|
||||||
to_lbt_string(const formula* f, std::ostream& os);
|
to_lbt_string(const formula* f, std::ostream& os);
|
||||||
|
|
||||||
/// \brief Output an LTL formula as a string in LBT's format.
|
/// \brief Output an LTL formula as a string in LBT's format.
|
||||||
|
|
@ -53,7 +53,7 @@ namespace spot
|
||||||
/// rewrite these two operators using unabbreviate_wm().
|
/// rewrite these two operators using unabbreviate_wm().
|
||||||
///
|
///
|
||||||
/// \param f The formula to translate.
|
/// \param f The formula to translate.
|
||||||
std::string
|
SPOT_API std::string
|
||||||
to_lbt_string(const formula* f);
|
to_lbt_string(const formula* f);
|
||||||
/// @}
|
/// @}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
// Copyright (C) 2012 Laboratoire de Recherche et Developement de
|
// -*- coding: utf-8 -*-
|
||||||
|
// Copyright (C) 2012, 2013 Laboratoire de Recherche et Developement de
|
||||||
// l'Epita (LRDE).
|
// l'Epita (LRDE).
|
||||||
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -40,6 +41,7 @@ namespace spot
|
||||||
///
|
///
|
||||||
/// If squash_boolean is set, all Boolean formulae are assumed
|
/// If squash_boolean is set, all Boolean formulae are assumed
|
||||||
/// to have length one.
|
/// to have length one.
|
||||||
|
SPOT_API
|
||||||
int length(const formula* f);
|
int length(const formula* f);
|
||||||
|
|
||||||
/// \ingroup ltl_misc
|
/// \ingroup ltl_misc
|
||||||
|
|
@ -47,6 +49,7 @@ namespace spot
|
||||||
///
|
///
|
||||||
/// This is similar to spot::ltl::length(), except all Boolean
|
/// This is similar to spot::ltl::length(), except all Boolean
|
||||||
/// formulae are assumed to have length one.
|
/// formulae are assumed to have length one.
|
||||||
|
SPOT_API
|
||||||
int length_boolone(const formula* f);
|
int length_boolone(const formula* f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2012 Laboratoire de Recherche et Développement
|
// Copyright (C) 2012, 2013 Laboratoire de Recherche et Développement
|
||||||
// de l'Epita (LRDE).
|
// de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
|
|
@ -41,7 +41,7 @@ namespace spot
|
||||||
/// to derive from it and override some of its methods.
|
/// to derive from it and override some of its methods.
|
||||||
/// But if you just want the functionality, consider using
|
/// But if you just want the functionality, consider using
|
||||||
/// spot::ltl::unabbreviate_logic instead.
|
/// spot::ltl::unabbreviate_logic instead.
|
||||||
class unabbreviate_logic_visitor : public clone_visitor
|
class SPOT_API unabbreviate_logic_visitor : public clone_visitor
|
||||||
{
|
{
|
||||||
typedef clone_visitor super;
|
typedef clone_visitor super;
|
||||||
public:
|
public:
|
||||||
|
|
@ -61,7 +61,7 @@ namespace spot
|
||||||
/// This will rewrite binary operators such as binop::Implies,
|
/// This will rewrite binary operators such as binop::Implies,
|
||||||
/// binop::Equals, and binop::Xor, using only unop::Not, multop::Or,
|
/// binop::Equals, and binop::Xor, using only unop::Not, multop::Or,
|
||||||
/// and multop::And.
|
/// and multop::And.
|
||||||
const formula* unabbreviate_logic(const formula* f);
|
SPOT_API const formula* unabbreviate_logic(const formula* f);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2009, 2010, 2011, 2012 Laboratoire de Recherche et
|
// Copyright (C) 2009, 2010, 2011, 2012, 2013 Laboratoire de Recherche
|
||||||
// Développement de l'Epita (LRDE).
|
// et Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
// You should have received a copy of the GNU General Public License
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#include "nenoform.hh"
|
||||||
#include "simplify.hh"
|
#include "simplify.hh"
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2011, 2012 Laboratoire de Recherche et Développement de
|
// Copyright (C) 2011, 2012, 2013 Laboratoire de Recherche et
|
||||||
// l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
|
|
@ -44,7 +44,7 @@ namespace spot
|
||||||
/// or spot::ltl::unabbreviate_ltl first. (Calling these functions
|
/// or spot::ltl::unabbreviate_ltl first. (Calling these functions
|
||||||
/// after spot::ltl::negative_normal_form would likely produce a
|
/// after spot::ltl::negative_normal_form would likely produce a
|
||||||
/// formula which is not in negative normal form.)
|
/// formula which is not in negative normal form.)
|
||||||
const formula*
|
SPOT_API const formula*
|
||||||
negative_normal_form(const formula* f, bool negated = false);
|
negative_normal_form(const formula* f, bool negated = false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
// Copyright (C) 2009, 2010, 2012 Laboratoire de Recherche et Développement
|
// -*- coding: utf-8 -*-
|
||||||
// de l'Epita (LRDE).
|
// Copyright (C) 2009, 2010, 2012, 2013 Laboratoire de Recherche et
|
||||||
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -35,7 +36,7 @@ namespace spot
|
||||||
///
|
///
|
||||||
/// Override one or more of the postifix_visitor::doit methods
|
/// Override one or more of the postifix_visitor::doit methods
|
||||||
/// with the algorithm to apply.
|
/// with the algorithm to apply.
|
||||||
class postfix_visitor : public visitor
|
class SPOT_API postfix_visitor : public visitor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
postfix_visitor();
|
postfix_visitor();
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2010, 2011, 2012 Laboratoire de Recherche et
|
// Copyright (C) 2010, 2011, 2012, 2013 Laboratoire de Recherche et
|
||||||
// Développement de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
|
|
@ -33,7 +33,7 @@ namespace spot
|
||||||
|
|
||||||
/// \ingroup ltl_io
|
/// \ingroup ltl_io
|
||||||
/// \brief Base class for random formula generators
|
/// \brief Base class for random formula generators
|
||||||
class random_formula
|
class SPOT_API random_formula
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
random_formula(unsigned proba_size,
|
random_formula(unsigned proba_size,
|
||||||
|
|
@ -110,7 +110,7 @@ namespace spot
|
||||||
/// Also, each atomic proposition has as much chance as each
|
/// Also, each atomic proposition has as much chance as each
|
||||||
/// constant (i.e., true and false) to be picked. This can be
|
/// constant (i.e., true and false) to be picked. This can be
|
||||||
/// tuned using parse_options().
|
/// tuned using parse_options().
|
||||||
class random_ltl: public random_formula
|
class SPOT_API random_ltl: public random_formula
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// Create a random LTL generator using atomic propositions from \a ap.
|
/// Create a random LTL generator using atomic propositions from \a ap.
|
||||||
|
|
@ -160,7 +160,7 @@ namespace spot
|
||||||
/// constant and all Boolean operators supported by Spot.
|
/// constant and all Boolean operators supported by Spot.
|
||||||
///
|
///
|
||||||
/// By default each operator has equal chance to be selected.
|
/// By default each operator has equal chance to be selected.
|
||||||
class random_boolean: public random_formula
|
class SPOT_API random_boolean: public random_formula
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// Create a random Boolean formula generator using atomic
|
/// Create a random Boolean formula generator using atomic
|
||||||
|
|
@ -200,7 +200,7 @@ namespace spot
|
||||||
/// constant and all SERE operators supported by Spot.
|
/// constant and all SERE operators supported by Spot.
|
||||||
///
|
///
|
||||||
/// By default each operator has equal chance to be selected.
|
/// By default each operator has equal chance to be selected.
|
||||||
class random_sere: public random_formula
|
class SPOT_API random_sere: public random_formula
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// Create a random SERE genere using atomic propositions from \a ap.
|
/// Create a random SERE genere using atomic propositions from \a ap.
|
||||||
|
|
@ -241,7 +241,7 @@ namespace spot
|
||||||
/// The formulae will use the use atomic propositions from the
|
/// The formulae will use the use atomic propositions from the
|
||||||
/// set of propositions passed to the constructor, in addition to the
|
/// set of propositions passed to the constructor, in addition to the
|
||||||
/// constant and all PSL operators supported by Spot.
|
/// constant and all PSL operators supported by Spot.
|
||||||
class random_psl: public random_ltl
|
class SPOT_API random_psl: public random_ltl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// Create a random PSL generator using atomic propositions from \a ap.
|
/// Create a random PSL generator using atomic propositions from \a ap.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2010, 2011, 2012 Laboratoire de Recherche et
|
// Copyright (C) 2010, 2011, 2012, 2013 Laboratoire de Recherche et
|
||||||
// Développement de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2004, 2006 Laboratoire d'Informatique de Paris 6
|
// Copyright (C) 2004, 2006 Laboratoire d'Informatique de Paris 6
|
||||||
// (LIP6), département Systèmes Répartis Coopératifs (SRC), Université
|
// (LIP6), département Systèmes Répartis Coopératifs (SRC), Université
|
||||||
|
|
@ -68,12 +68,8 @@ namespace spot
|
||||||
/// \return the reduced formula
|
/// \return the reduced formula
|
||||||
///
|
///
|
||||||
/// \deprecated Use spot::ltl::ltl_simplifier instead.
|
/// \deprecated Use spot::ltl::ltl_simplifier instead.
|
||||||
#if __GNUC__
|
SPOT_API SPOT_DEPRECATED const formula*
|
||||||
const formula*
|
reduce(const formula* f, int opt = Reduce_All);
|
||||||
reduce(const formula* f, int opt = Reduce_All) __attribute__ ((deprecated));
|
|
||||||
#else
|
|
||||||
const formula* reduce(const formula* f, int opt = Reduce_All);
|
|
||||||
#endif
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
/// \ingroup ltl_misc
|
/// \ingroup ltl_misc
|
||||||
|
|
@ -99,11 +95,8 @@ namespace spot
|
||||||
/// anything and still satisfies the formula.
|
/// anything and still satisfies the formula.
|
||||||
///
|
///
|
||||||
/// \deprecated Use f->is_eventual() instead.
|
/// \deprecated Use f->is_eventual() instead.
|
||||||
#if __GNUC__
|
SPOT_API SPOT_DEPRECATED
|
||||||
bool is_eventual(const formula* f) __attribute__ ((deprecated));
|
|
||||||
#else
|
|
||||||
bool is_eventual(const formula* f);
|
bool is_eventual(const formula* f);
|
||||||
#endif
|
|
||||||
|
|
||||||
/// \ingroup ltl_misc
|
/// \ingroup ltl_misc
|
||||||
/// \brief Check whether a formula is purely universal.
|
/// \brief Check whether a formula is purely universal.
|
||||||
|
|
@ -128,11 +121,8 @@ namespace spot
|
||||||
/// universal formula also satisfies the formula.
|
/// universal formula also satisfies the formula.
|
||||||
///
|
///
|
||||||
/// \deprecated Use f->is_universal() instead.
|
/// \deprecated Use f->is_universal() instead.
|
||||||
#if __GNUC__
|
SPOT_API SPOT_DEPRECATED
|
||||||
bool is_universal(const formula* f) __attribute__ ((deprecated));
|
|
||||||
#else
|
|
||||||
bool is_universal(const formula* f);
|
bool is_universal(const formula* f);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2012 Laboratoire de Recherche et
|
// Copyright (C) 2012, 2013 Laboratoire de Recherche et
|
||||||
// Développement de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -29,8 +29,8 @@ namespace spot
|
||||||
enum relabeling_style { Abc, Pnn };
|
enum relabeling_style { Abc, Pnn };
|
||||||
|
|
||||||
/// \ingroup ltl_rewriting
|
/// \ingroup ltl_rewriting
|
||||||
/// \brief Relabel the atomic proposition in a formula.
|
/// \brief Relabel the atomic propositions in a formula.
|
||||||
///
|
SPOT_API
|
||||||
const formula* relabel(const formula* f, relabeling_style style);
|
const formula* relabel(const formula* f, relabeling_style style);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
#include "ltlvisit/simplify.hh"
|
#include "ltlvisit/simplify.hh"
|
||||||
#include "ltlvisit/clone.hh"
|
#include "ltlvisit/clone.hh"
|
||||||
#include "ltlvisit/apcollect.hh"
|
#include "ltlvisit/apcollect.hh"
|
||||||
|
#include "ltlvisit/remove_x.hh"
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2013 Laboratoire de Recherche et Developpement de
|
// Copyright (C) 2013 Laboratoire de Recherche et Developpement de
|
||||||
// l'Epita (LRDE).
|
// l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
|
|
@ -19,6 +20,8 @@
|
||||||
#ifndef SPOT_LTLVISIT_REMOVE_X_HH
|
#ifndef SPOT_LTLVISIT_REMOVE_X_HH
|
||||||
# define SPOT_LTLVISIT_REMOVE_X_HH
|
# define SPOT_LTLVISIT_REMOVE_X_HH
|
||||||
|
|
||||||
|
# include "misc/common.hh"
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
{
|
{
|
||||||
namespace ltl
|
namespace ltl
|
||||||
|
|
@ -43,6 +46,7 @@ namespace spot
|
||||||
pages = {261--263}
|
pages = {261--263}
|
||||||
}
|
}
|
||||||
\endverbatim */
|
\endverbatim */
|
||||||
|
SPOT_API
|
||||||
const formula* remove_x(const formula* f);
|
const formula* remove_x(const formula* f);
|
||||||
|
|
||||||
/// \brief Whether an LTL formula \a f is stutter-insensitive.
|
/// \brief Whether an LTL formula \a f is stutter-insensitive.
|
||||||
|
|
@ -63,6 +67,7 @@ namespace spot
|
||||||
pages = {261--263}
|
pages = {261--263}
|
||||||
}
|
}
|
||||||
\endverbatim */
|
\endverbatim */
|
||||||
|
SPOT_API
|
||||||
bool is_stutter_insensitive(const formula* f);
|
bool is_stutter_insensitive(const formula* f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2010, 2012 Laboratoire de Recherche et Développement
|
// Copyright (C) 2010, 2012, 2013 Laboratoire de Recherche et
|
||||||
// de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
|
|
@ -40,7 +40,7 @@ namespace spot
|
||||||
/// - false R a = G a
|
/// - false R a = G a
|
||||||
/// - a W false = G a
|
/// - a W false = G a
|
||||||
///
|
///
|
||||||
class simplify_f_g_visitor : public clone_visitor
|
class SPOT_API simplify_f_g_visitor : public clone_visitor
|
||||||
{
|
{
|
||||||
typedef clone_visitor super;
|
typedef clone_visitor super;
|
||||||
public:
|
public:
|
||||||
|
|
@ -64,7 +64,7 @@ namespace spot
|
||||||
/// - false R a = G a
|
/// - false R a = G a
|
||||||
/// - a W false = G a
|
/// - a W false = G a
|
||||||
///
|
///
|
||||||
const formula* simplify_f_g(const formula* f);
|
SPOT_API const formula* simplify_f_g(const formula* f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ namespace spot
|
||||||
|
|
||||||
/// \ingroup ltl_rewriting
|
/// \ingroup ltl_rewriting
|
||||||
/// \brief Rewrite or simplify \a f in various ways.
|
/// \brief Rewrite or simplify \a f in various ways.
|
||||||
class ltl_simplifier
|
class SPOT_API ltl_simplifier
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ltl_simplifier(bdd_dict* dict = 0);
|
ltl_simplifier(bdd_dict* dict = 0);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2012 Laboratoire de Recherche et Developpement
|
// Copyright (C) 2012, 2013 Laboratoire de Recherche et Developpement
|
||||||
// de l'Epita (LRDE).
|
// de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -50,8 +50,8 @@ namespace spot
|
||||||
///
|
///
|
||||||
/// \param sere the SERE to rewrite
|
/// \param sere the SERE to rewrite
|
||||||
/// \param cache an optional cache
|
/// \param cache an optional cache
|
||||||
const formula* star_normal_form(const formula* sere,
|
SPOT_API const formula*
|
||||||
snf_cache* cache = 0);
|
star_normal_form(const formula* sere, snf_cache* cache = 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2010, 2011, 2012 Laboratoire de Recherche et
|
// Copyright (C) 2010, 2011, 2012, 2013 Laboratoire de Recherche et
|
||||||
// Développement de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
|
|
@ -40,7 +40,7 @@ namespace spot
|
||||||
/// \param full_parent Whether or not the string should by fully
|
/// \param full_parent Whether or not the string should by fully
|
||||||
/// parenthesized.
|
/// parenthesized.
|
||||||
/// \param ratexp Whether we are printing a SERE.
|
/// \param ratexp Whether we are printing a SERE.
|
||||||
std::ostream&
|
SPOT_API std::ostream&
|
||||||
to_string(const formula* f, std::ostream& os, bool full_parent = false,
|
to_string(const formula* f, std::ostream& os, bool full_parent = false,
|
||||||
bool ratexp = false);
|
bool ratexp = false);
|
||||||
|
|
||||||
|
|
@ -50,7 +50,7 @@ namespace spot
|
||||||
/// \param full_parent Whether or not the string should by fully
|
/// \param full_parent Whether or not the string should by fully
|
||||||
/// parenthesized.
|
/// parenthesized.
|
||||||
/// \param ratexp Whether we are printing a SERE.
|
/// \param ratexp Whether we are printing a SERE.
|
||||||
std::string
|
SPOT_API std::string
|
||||||
to_string(const formula* f, bool full_parent = false, bool ratexp = false);
|
to_string(const formula* f, bool full_parent = false, bool ratexp = false);
|
||||||
|
|
||||||
/// \brief Output a formula as an utf8 string which is parsable unless
|
/// \brief Output a formula as an utf8 string which is parsable unless
|
||||||
|
|
@ -60,7 +60,7 @@ namespace spot
|
||||||
/// \param full_parent Whether or not the string should by fully
|
/// \param full_parent Whether or not the string should by fully
|
||||||
/// parenthesized.
|
/// parenthesized.
|
||||||
/// \param ratexp Whether we are printing a SERE.
|
/// \param ratexp Whether we are printing a SERE.
|
||||||
std::ostream&
|
SPOT_API std::ostream&
|
||||||
to_utf8_string(const formula* f, std::ostream& os, bool full_parent = false,
|
to_utf8_string(const formula* f, std::ostream& os, bool full_parent = false,
|
||||||
bool ratexp = false);
|
bool ratexp = false);
|
||||||
|
|
||||||
|
|
@ -70,7 +70,7 @@ namespace spot
|
||||||
/// \param full_parent Whether or not the string should by fully
|
/// \param full_parent Whether or not the string should by fully
|
||||||
/// parenthesized.
|
/// parenthesized.
|
||||||
/// \param ratexp Whether we are printing a SERE.
|
/// \param ratexp Whether we are printing a SERE.
|
||||||
std::string
|
SPOT_API std::string
|
||||||
to_utf8_string(const formula* f, bool full_parent = false,
|
to_utf8_string(const formula* f, bool full_parent = false,
|
||||||
bool ratexp = false);
|
bool ratexp = false);
|
||||||
|
|
||||||
|
|
@ -79,23 +79,27 @@ namespace spot
|
||||||
/// \param os The stream where it should be output.
|
/// \param os The stream where it should be output.
|
||||||
/// \param full_parent Whether or not the string should by fully
|
/// \param full_parent Whether or not the string should by fully
|
||||||
/// parenthesized.
|
/// parenthesized.
|
||||||
std::ostream& to_spin_string(const formula* f, std::ostream& os,
|
SPOT_API std::ostream&
|
||||||
|
to_spin_string(const formula* f, std::ostream& os,
|
||||||
bool full_parent = false);
|
bool full_parent = false);
|
||||||
|
|
||||||
/// \brief Convert a formula into a string parsable by Spin.
|
/// \brief Convert a formula into a string parsable by Spin.
|
||||||
/// \param f The formula to translate.
|
/// \param f The formula to translate.
|
||||||
/// \param full_parent Whether or not the string should by fully
|
/// \param full_parent Whether or not the string should by fully
|
||||||
/// parenthesized.
|
/// parenthesized.
|
||||||
std::string to_spin_string(const formula* f, bool full_parent = false);
|
SPOT_API std::string
|
||||||
|
to_spin_string(const formula* f, bool full_parent = false);
|
||||||
|
|
||||||
/// \brief Output a formula as a string parsable by Wring.
|
/// \brief Output a formula as a string parsable by Wring.
|
||||||
/// \param f The formula to translate.
|
/// \param f The formula to translate.
|
||||||
/// \param os The stream where it should be output.
|
/// \param os The stream where it should be output.
|
||||||
std::ostream& to_wring_string(const formula* f, std::ostream& os);
|
SPOT_API std::ostream&
|
||||||
|
to_wring_string(const formula* f, std::ostream& os);
|
||||||
|
|
||||||
/// \brief Convert a formula into a string parsable by Wring
|
/// \brief Convert a formula into a string parsable by Wring
|
||||||
/// \param f The formula to translate.
|
/// \param f The formula to translate.
|
||||||
std::string to_wring_string(const formula* f);
|
SPOT_API std::string
|
||||||
|
to_wring_string(const formula* f);
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2011, 2012 Laboratoire de Recherche et Développement de
|
// Copyright (C) 2011, 2012, 2013 Laboratoire de Recherche et Développement de
|
||||||
// l'Epita (LRDE).
|
// l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
|
|
@ -44,7 +44,7 @@ namespace spot
|
||||||
/// to derive from it and override some of its methods.
|
/// to derive from it and override some of its methods.
|
||||||
/// But if you just want the functionality, consider using
|
/// But if you just want the functionality, consider using
|
||||||
/// spot::ltl::unabbreviate_ltl instead.
|
/// spot::ltl::unabbreviate_ltl instead.
|
||||||
class unabbreviate_ltl_visitor : public unabbreviate_logic_visitor
|
class SPOT_API unabbreviate_ltl_visitor : public unabbreviate_logic_visitor
|
||||||
{
|
{
|
||||||
typedef unabbreviate_logic_visitor super;
|
typedef unabbreviate_logic_visitor super;
|
||||||
public:
|
public:
|
||||||
|
|
@ -65,7 +65,7 @@ namespace spot
|
||||||
///
|
///
|
||||||
/// This will also rewrite unary operators such as unop::F,
|
/// This will also rewrite unary operators such as unop::F,
|
||||||
/// and unop::G, using only binop::U, and binop::R.
|
/// and unop::G, using only binop::U, and binop::R.
|
||||||
const formula* unabbreviate_ltl(const formula* f);
|
SPOT_API const formula* unabbreviate_ltl(const formula* f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2012 Laboratoire de Recherche et Développement
|
// Copyright (C) 2012, 2013 Laboratoire de Recherche et Développement
|
||||||
// de l'Epita (LRDE).
|
// de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -20,6 +20,8 @@
|
||||||
#ifndef SPOT_LTLVISIT_WMUNABBREV_HH
|
#ifndef SPOT_LTLVISIT_WMUNABBREV_HH
|
||||||
# define SPOT_LTLVISIT_WMUNABBREV_HH
|
# define SPOT_LTLVISIT_WMUNABBREV_HH
|
||||||
|
|
||||||
|
# include "misc/common.hh"
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
{
|
{
|
||||||
namespace ltl
|
namespace ltl
|
||||||
|
|
@ -35,7 +37,7 @@ namespace spot
|
||||||
/// <code>a W b</code> is replaced by <code>b R (b | a)</code>,
|
/// <code>a W b</code> is replaced by <code>b R (b | a)</code>,
|
||||||
/// and <code>a M b</code> is replaced by <code>b U (b & a)</code>.
|
/// and <code>a M b</code> is replaced by <code>b U (b & a)</code>.
|
||||||
///
|
///
|
||||||
const formula* unabbreviate_wm(const formula* f);
|
SPOT_API const formula* unabbreviate_wm(const formula* f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,14 @@
|
||||||
#ifndef SPOT_MISC_COMMON_HH
|
#ifndef SPOT_MISC_COMMON_HH
|
||||||
# define SPOT_MISC_COMMON_HH
|
# define SPOT_MISC_COMMON_HH
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#define SPOT_DEPRECATED __attribute__ ((deprecated))
|
||||||
|
#elif defined(_MSC_VER)
|
||||||
|
#define SPOT_DEPRECATED __declspec(deprecated)
|
||||||
|
#else
|
||||||
|
#define SPOT_DEPRECATED func
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined _WIN32 || defined __CYGWIN__
|
#if defined _WIN32 || defined __CYGWIN__
|
||||||
#define SPOT_HELPER_DLL_IMPORT __declspec(dllimport)
|
#define SPOT_HELPER_DLL_IMPORT __declspec(dllimport)
|
||||||
#define SPOT_HELPER_DLL_EXPORT __declspec(dllexport)
|
#define SPOT_HELPER_DLL_EXPORT __declspec(dllexport)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue