Commit a0f5d53e authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz
Browse files

Use -fvisibility=hidden in src/tgbaalgos/.

* src/tgbaalgos/Makefile.am, src/tgbaalgos/gtec/Makefile.am: Add
$(VISIBILITY_CXXFLAGS).
* src/tgbaalgos/bfssteps.hh, src/tgbaalgos/compsusp.hh,
src/tgbaalgos/cutscc.hh, src/tgbaalgos/cycles.hh,
src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.hh,
src/tgbaalgos/dottydec.hh, src/tgbaalgos/dupexp.hh,
src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbaalgos/emptiness.hh,
src/tgbaalgos/gtec/ce.hh, src/tgbaalgos/gtec/explscc.hh,
src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gtec/nsheap.hh,
src/tgbaalgos/gtec/sccstack.hh,
src/tgbaalgos/gtec/status.hh, src/tgbaalgos/gv04.hh,
src/tgbaalgos/isdet.hh, src/tgbaalgos/isweakscc.cc,
src/tgbaalgos/isweakscc.hh, src/tgbaalgos/lbtt.hh,
src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_fm.hh,
src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/magic.hh,
src/tgbaalgos/minimize.hh, src/tgbaalgos/neverclaim.hh,
src/tgbaalgos/postproc.hh, src/tgbaalgos/powerset.hh,
src/tgbaalgos/projrun.hh, src/tgbaalgos/randomgraph.hh,
src/tgbaalgos/reachiter.hh, src/tgbaalgos/reducerun.hh,
src/tgbaalgos/reductgba_sim.cc, src/tgbaalgos/reductgba_sim.hh,
src/tgbaalgos/replayrun.hh, src/tgbaalgos/rundotdec.hh,
src/tgbaalgos/safety.hh, src/tgbaalgos/save.hh, src/tgbaalgos/scc.hh,
src/tgbaalgos/sccfilter.hh, src/tgbaalgos/se05.hh,
src/tgbaalgos/simulation.hh, src/tgbaalgos/stats.hh,
src/tgbaalgos/stripacc.hh, src/tgbaalgos/tau03.hh,
src/tgbaalgos/tau03opt.hh, src/tgbaalgos/translate.hh: Mark public
symbol with SPOT_API.
parent dab51a9d
......@@ -19,6 +19,7 @@
#include "cycles.hh"
#include "tgba/tgbaexplicit.hh"
#include "ltlast/formula.hh"
#include "isweakscc.hh"
namespace spot
{
......
// Copyright (C) 2012, 2013 Laboratoire de Recherche et Developpement de
// -*- coding: utf-8 -*-
// Copyright (C) 2012, 2013 Laboratoire de Recherche et Développement de
// l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -42,7 +43,8 @@ namespace spot
/// necessarily weak.
/// For other accepting SCCs, this function enumerates all cycles in
/// the given SCC (it stops if it find a non-accepting cycle).
bool is_inherently_weak_scc(scc_map& map, unsigned scc);
SPOT_API bool
is_inherently_weak_scc(scc_map& map, unsigned scc);
/// \brief Whether the SCC number \a scc in \a map is weak.
///
......@@ -52,7 +54,8 @@ namespace spot
/// Note that terminal SCCs are also weak with that definition.
///
/// The scc_map \a map should have been built already.
bool is_weak_scc(scc_map& map, unsigned scc);
SPOT_API bool
is_weak_scc(scc_map& map, unsigned scc);
/// \brief Whether the SCC number \a scc in \a map is complete.
///
......@@ -60,7 +63,8 @@ namespace spot
/// a transition that stays into this SCC.
///
/// The scc_map \a map should have been built already.
bool is_complete_scc(scc_map& map, unsigned scc);
SPOT_API bool
is_complete_scc(scc_map& map, unsigned scc);
/// \brief Whether the SCC number \a scc in \a map is syntactically
/// weak.
......@@ -70,7 +74,8 @@ namespace spot
/// syntactic-persistence formula.
///
/// The scc_map \a map should have been built already.
bool is_syntactic_weak_scc(scc_map& map, unsigned scc);
SPOT_API bool
is_syntactic_weak_scc(scc_map& map, unsigned scc);
/// \brief Whether the SCC number \a scc in \a map is syntactically
/// terminal.
......@@ -80,14 +85,16 @@ namespace spot
/// syntactic-guarantee formula.
///
/// The scc_map \a map should have been built already.
bool is_syntactic_terminal_scc(scc_map& map, unsigned scc);
SPOT_API bool
is_syntactic_terminal_scc(scc_map& map, unsigned scc);
/// \brief Whether the SCC number \a scc in \a map is terminal.
///
/// An SCC is terminal if it is weak, complete, and accepting.
///
/// The scc_map \a map should have been built already.
bool is_terminal_scc(scc_map& map, unsigned scc);
SPOT_API bool
is_terminal_scc(scc_map& map, unsigned scc);
/// @}
}
......
......@@ -36,8 +36,8 @@ namespace spot
/// \param os Where to print.
/// \param sba Assume \a g is an SBA and use LBTT's state-based
/// acceptance format (similar to LBT's format).
std::ostream& lbtt_reachable(std::ostream& os, const tgba* g,
bool sba = false);
SPOT_API std::ostream&
lbtt_reachable(std::ostream& os, const tgba* g, bool sba = false);
/// \ingroup tgba_io
/// \brief Read an automaton in LBTT's format
......@@ -51,12 +51,11 @@ namespace spot
/// \param envacc The environment of acceptance conditions into which parsing
/// should take place.
/// \return the read tgba or 0 on error.
const tgba* lbtt_parse(std::istream& is, std::string& error,
bdd_dict* dict,
ltl::environment& env
= ltl::default_environment::instance(),
ltl::environment& envacc
= ltl::default_environment::instance());
SPOT_API const tgba*
lbtt_parse(std::istream& is, std::string& error,
bdd_dict* dict,
ltl::environment& env = ltl::default_environment::instance(),
ltl::environment& envacc = ltl::default_environment::instance());
}
#endif // SPOT_TGBAALGOS_LBTT_HH
// Copyright (C) 2009, 2010 Laboratoire de Recherche et Développement
// -*- coding: utf-8 -*-
// Copyright (C) 2009, 2010, 2013 Laboratoire de Recherche et Développement
// de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -47,8 +48,9 @@ namespace spot
/// \param dict The spot::bdd_dict the constructed automata should use.
/// \param refined_rules If this parameter is set, refined rules are used.
/// \return A spot::taa that recognizes the language of \a f.
taa_tgba* ltl_to_taa(const ltl::formula* f, bdd_dict* dict,
bool refined_rules = false);
SPOT_API taa_tgba*
ltl_to_taa(const ltl::formula* f, bdd_dict* dict,
bool refined_rules = false);
}
#endif // SPOT_TGBAALGOS_LTL2TAA_HH
// -*- coding: utf-8 -*-
// 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, 2005, 2006 Laboratoire d'Informatique de
// Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
// Université Pierre et Marie Curie.
// Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
// Université Pierre et Marie Curie.
//
// This file is part of Spot, a model checking library.
//
......@@ -121,7 +122,7 @@ namespace spot
\endverbatim */
///
/// \return A spot::tgba_explicit that recognizes the language of \a f.
tgba_explicit_formula*
SPOT_API tgba_explicit_formula*
ltl_to_tgba_fm(const ltl::formula* f, bdd_dict* dict,
bool exprop = false, bool symb_merge = true,
bool branching_postponement = false,
......
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
// dpartement Systmes Rpartis Coopratifs (SRC), Universit Pierre
// et Marie Curie.
// -*- coding: utf-8 -*-
// Copyright (C) 2013 Laboratoire de Recherche et Developpement
// de l'Epita (LRDE).
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
// Université Pierre et Marie Curie.
//
// This file is part of Spot, a model checking library.
//
......@@ -47,7 +50,8 @@ namespace spot
/// \param f The formula to translate into an automaton.
/// \param dict The spot::bdd_dict the constructed automata should use.
/// \return A spot::tgba_bdd_concrete that recognizes the language of \a f.
tgba_bdd_concrete* ltl_to_tgba_lacim(const ltl::formula* f, bdd_dict* dict);
SPOT_API tgba_bdd_concrete*
ltl_to_tgba_lacim(const ltl::formula* f, bdd_dict* dict);
}
#endif // SPOT_TGBAALGOS_LTL2TGBA_LACIM_HH
// -*- coding: utf-8 -*-
// Copyright (C) 2013 Laboratoire de Recherche et Developpement
// de l'Epita (LRDE).
// 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.
//
// This file is part of Spot, a model checking library.
......@@ -47,7 +50,7 @@ namespace spot
begin
call dfs_blue(s0);
end;
procedure dfs_blue (s)
begin
s.color = blue;
......@@ -61,7 +64,7 @@ namespace spot
end if;
end for;
end;
procedure dfs_red(s)
begin
s.color = red;
......@@ -94,8 +97,9 @@ namespace spot
///
/// \bug The name is misleading. Magic-search is the algorithm
/// from \c godefroid.93.pstv, not \c courcoubetis.92.fmsd.
emptiness_check* explicit_magic_search(const tgba *a,
option_map o = option_map());
SPOT_API emptiness_check*
explicit_magic_search(const tgba *a,
option_map o = option_map());
/// \brief Returns an emptiness checker on the spot::tgba automaton \a a.
///
......@@ -124,8 +128,9 @@ namespace spot
///
/// \sa spot::explicit_magic_search
///
emptiness_check* bit_state_hashing_magic_search(const tgba *a, size_t size,
option_map o = option_map());
SPOT_API emptiness_check*
bit_state_hashing_magic_search(const tgba *a, size_t size,
option_map o = option_map());
/// \brief Wrapper for the two magic_search implementations.
///
......@@ -133,7 +138,8 @@ namespace spot
/// bit_state_hashing_magic_search() according to the \c "bsh" option
/// in the \c option_map. If \c "bsh" is set and non null, its value
/// is used as the size of the hash map.
emptiness_check* magic_search(const tgba *a, option_map o = option_map());
SPOT_API emptiness_check*
magic_search(const tgba *a, option_map o = option_map());
/// @}
}
......
......@@ -57,7 +57,7 @@ namespace spot
/// \param a the automaton to convert into a minimal deterministic monitor
/// \pre Dead SCCs should have been removed from \a a before
/// calling this function.
sba_explicit_number* minimize_monitor(const tgba* a);
SPOT_API sba_explicit_number* minimize_monitor(const tgba* a);
/// \brief Minimize a Büchi automaton in the WDBA class.
///
......@@ -93,7 +93,7 @@ namespace spot
month = oct
}
\endverbatim */
sba_explicit_number* minimize_wdba(const tgba* a);
SPOT_API sba_explicit_number* minimize_wdba(const tgba* a);
/// \brief Minimize an automaton if it represents an obligation property.
///
......@@ -150,10 +150,10 @@ namespace spot
/// determinization step during minimize_wdba().) Note that
/// checking the size of the minimized WDBA occurs before ensuring
/// that the minimized WDBA is correct.
tgba* minimize_obligation(const tgba* aut_f,
const ltl::formula* f = 0,
const tgba* aut_neg_f = 0,
bool reject_bigger = false);
SPOT_API tgba* minimize_obligation(const tgba* aut_f,
const ltl::formula* f = 0,
const tgba* aut_neg_f = 0,
bool reject_bigger = false);
/// @}
}
......
// Copyright (C) 2009, 2011, 2012 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// -*- coding: utf-8 -*-
// Copyright (C) 2009, 2011, 2012, 2013 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// 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.
//
// This file is part of Spot, a model checking library.
......@@ -41,10 +42,11 @@ namespace spot
/// it will be output as a comment.
/// \param comments Whether to comment each state of the never clause
/// with the label of the \a g automaton.
std::ostream& never_claim_reachable(std::ostream& os,
const tgba* g,
const ltl::formula* f = 0,
bool comments = false);
SPOT_API std::ostream&
never_claim_reachable(std::ostream& os,
const tgba* g,
const ltl::formula* f = 0,
bool comments = false);
}
#endif // SPOT_TGBAALGOS_NEVERCLAIM_HH
......@@ -56,7 +56,7 @@ namespace spot
/// when minimized_obligation failed to produce an automaton smaller
/// than its input. pref=Small,level=Low will only run
/// simulation().
class postprocessor
class SPOT_API postprocessor
{
public:
/// \brief Construct a postprocessor.
......
// Copyright (C) 2011 Laboratoire de Recherche et Développement de
// l'Epita.
// -*- coding: utf-8 -*-
// Copyright (C) 2011, 2013 Laboratoire de Recherche et Développement
// de l'Epita.
// 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.
//
// This file is part of Spot, a model checking library.
......@@ -29,7 +30,7 @@
namespace spot
{
struct power_map
struct SPOT_API power_map
{
typedef std::set<const state*, state_ptr_less_than> power_state;
typedef std::map<int, power_state> power_map_data;
......@@ -86,8 +87,10 @@ namespace spot
/// If \a pm is supplied it will be filled with the set of original states
/// associated to each state of the deterministic automaton.
//@{
tgba_explicit_number* tgba_powerset(const tgba* aut, power_map& pm);
tgba_explicit_number* tgba_powerset(const tgba* aut);
SPOT_API tgba_explicit_number*
tgba_powerset(const tgba* aut, power_map& pm);
SPOT_API tgba_explicit_number*
tgba_powerset(const tgba* aut);
//@}
}
......
// -*- coding: utf-8 -*-
// Copyright (C) 2013 Laboratoire de Recherche et Developpement
// de l'Epita (LRDE).
// 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.
//
// This file is part of Spot, a model checking library.
......@@ -20,7 +23,8 @@
#ifndef SPOT_TGBAALGOS_PROJRUN_HH
# define SPOT_TGBAALGOS_PROJRUN_HH
#include <iosfwd>
# include "misc/common.hh"
# include <iosfwd>
namespace spot
{
......@@ -37,9 +41,10 @@ namespace spot
/// \param a_run the automata on which the run was generated
/// \param a_proj the automata on which to project the run
/// \return true iff the run could be completed
tgba_run* project_tgba_run(const tgba* a_run,
const tgba* a_proj,
const tgba_run* run);
SPOT_API tgba_run*
project_tgba_run(const tgba* a_run, const tgba* a_proj,
const tgba_run* run);
}
#endif // SPOT_TGBAALGOS_PROJRUN_HH
// Copyright (C) 2011 Laboratoire de Recherche et Developpement de
// -*- coding: utf-8 -*-
// Copyright (C) 2011, 2013 Laboratoire de Recherche et Developpement de
// l'Epita (LRDE).
// 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.
//
// This file is part of Spot, a model checking library.
......@@ -77,7 +78,7 @@ namespace spot
/// \f$1+(n-1)d\f$ and variance \f$(n-1)d(1-d)\f$. (This is less
/// accurate, but faster than considering all possible \a n
/// successors one by one.)
tgba*
SPOT_API tgba*
random_graph(int n, float d,
const ltl::atomic_prop_set* ap, bdd_dict* dict,
int n_acc = 0, float a = 0.1, float t = 0.5,
......
// Copyright (C) 2008, 2009, 2011 Laboratoire de Recherche et Développement
// de l'Epita (LRDE).
// -*- coding: utf-8 -*-
// Copyright (C) 2008, 2009, 2011, 2013 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// Copyright (C) 2003, 2004 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é
// Pierre et Marie Curie.
//
// This file is part of Spot, a model checking library.
......@@ -31,7 +32,7 @@ namespace spot
{
/// \ingroup tgba_generic
/// \brief Iterate over all reachable states of a spot::tgba.
class tgba_reachable_iterator
class SPOT_API tgba_reachable_iterator
{
public:
tgba_reachable_iterator(const tgba* a);
......@@ -98,7 +99,8 @@ namespace spot
/// \ingroup tgba_generic
/// \brief An implementation of spot::tgba_reachable_iterator that browses
/// states depth first.
class tgba_reachable_iterator_depth_first : public tgba_reachable_iterator
class SPOT_API tgba_reachable_iterator_depth_first :
public tgba_reachable_iterator
{
public:
tgba_reachable_iterator_depth_first(const tgba* a);
......@@ -113,7 +115,8 @@ namespace spot
/// \ingroup tgba_generic
/// \brief An implementation of spot::tgba_reachable_iterator that browses
/// states breadth first.
class tgba_reachable_iterator_breadth_first : public tgba_reachable_iterator
class SPOT_API tgba_reachable_iterator_breadth_first :
public tgba_reachable_iterator
{
public:
tgba_reachable_iterator_breadth_first(const tgba* a);
......
// -*- coding: utf-8 -*-
// Copyright (C) 2010, 2013 Laboratoire de Recherche et Développement de
// l'Epita.
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
......@@ -22,6 +23,8 @@
#ifndef SPOT_TGBAALGOS_REDUCERUN_HH
# define SPOT_TGBAALGOS_REDUCERUN_HH
# include "misc/common.hh"
namespace spot
{
class tgba;
......@@ -32,7 +35,8 @@ namespace spot
///
/// Return a run which is accepting for \a a and that is no longer
/// than \a org.
tgba_run* reduce_run(const tgba* a, const tgba_run* org);
SPOT_API tgba_run*
reduce_run(const tgba* a, const tgba_run* org);
}
#endif // SPOT_TGBAALGOS_REDUCERUN_HH
// Copyright (C) 2009, 2011, 2012 Laboratoire de Recherche et Dveloppement
// de l'Epita (LRDE).
// -*- coding: utf-8 -*-
// Copyright (C) 2009, 2011, 2012, 2013 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// Copyright (C) 2004, 2005, 2007 Laboratoire d'Informatique de
// Paris 6 (LIP6), dpartement Systmes Rpartis Coopratifs (SRC),
// Universit Pierre et Marie Curie.
// Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
// Université Pierre et Marie Curie.
//
// This file is part of Spot, a model checking library.
//
......@@ -19,6 +20,7 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#define SKIP_DEPRECATED_WARNING
#include "reductgba_sim.hh"
#include "sccfilter.hh"
#include "simulation.hh"
......
// Copyright (C) 2009, 2010, 2011, 2012 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// -*- coding: utf-8 -*-
// Copyright (C) 2009, 2010, 2011, 2012, 2013 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// 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.
//
// This file is part of Spot, a model checking library.
......@@ -23,6 +24,14 @@
#ifndef SPOT_TGBAALGOS_REDUCTGBA_SIM_HH
#define SPOT_TGBAALGOS_REDUCTGBA_SIM_HH
#if __GNUC__
#ifndef SKIP_DEPRECATED_WARNING
#warning This file is deprecated. Use postproc.hh instead.
#endif
#endif
#include "misc/common.hh"
namespace spot
{
class tgba;
......@@ -55,7 +64,6 @@ namespace spot
#endif
};
#if __GNUC__
/// \brief Simplify the automaton using a simulation relation.
///
/// Do not use this obsolete function.
......@@ -66,23 +74,10 @@ namespace spot
/// simulation-related flag will cause direct simulation
/// to be applied.
/// \return the reduced automaton
/// \deprecated Use scc_filter(), minimize_wdba(), or simulation().
const tgba* reduc_tgba_sim(const tgba* a, int opt = Reduce_All)
__attribute__ ((deprecated));
#else
/// \brief Simplify the automaton using a simulation relation.
///
/// Do not use this obsolete function.
///
/// \param a the automata to reduce
/// \param opt a conjonction of spot::reduce_tgba_options specifying
/// which optimizations to apply. Actually any
/// simulation-related flag will cause direct simulation
/// to be applied.
/// \return the reduced automaton
/// \deprecated Use scc_filter(), minimize_wdba(), or simulation().
/// \deprecated Use scc_filter(), minimize_wdba(), simulation(),
/// or postprocessor.
SPOT_API SPOT_DEPRECATED
const tgba* reduc_tgba_sim(const tgba* a, int opt = Reduce_All);
#endif
/// @}
}
......
// -*- coding: utf-8 -*-
// Copyright (C) 2013 Laboratoire de Recherche et Developpement
// de l'Epita (LRDE).
// 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.
//
// This file is part of Spot, a model checking library.
......@@ -20,7 +23,8 @@
#ifndef SPOT_TGBAALGOS_REPLAYRUN_HH
# define SPOT_TGBAALGOS_REPLAYRUN_HH
#include <iosfwd>
# include "misc/common.hh"
# include <iosfwd>
namespace spot
{
......@@ -42,8 +46,9 @@ namespace spot
/// \param debug if set the output will be more verbose and extra
/// debugging informations will be output on failure
/// \return true iff the run could be completed
bool replay_tgba_run(std::ostream& os, const tgba* a, const tgba_run* run,
bool debug = false);
SPOT_API bool
replay_tgba_run(std::ostream& os, const tgba* a, const tgba_run* run,
bool debug = false);
}
#endif // SPOT_TGBAALGOS_REPLAYRUN_HH
// Copyright (C) 2011 Laboratoire de Recherche et Developpement de
// l'Epita (LRDE).
// -*- coding: utf-8 -*-
// Copyright (C) 2011, 2013 Laboratoire de Recherche et Developpement
// de l'Epita (LRDE).
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
// dpartement Systmes Rpartis Coopratifs (SRC), Universit Pierre
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
// et Marie Curie.
//
// This file is part of Spot, a model checking library.
......@@ -34,7 +35,7 @@ namespace spot
/// \brief Highlight a spot::tgba_run on a spot::tgba.
///
/// An instance of this class can be passed to spot::dotty_reachable.
class tgba_run_dotty_decorator: public dotty_decorator
class SPOT_API tgba_run_dotty_decorator: public dotty_decorator
{
public:
tgba_run_dotty_decorator(const tgba_run* run);
......
// Copyright (C) 2010, 2011 Laboratoire de Recherche et Développement de
// l'Epita (LRDE)
// -*- coding: utf-8 -*-
// Copyright (C) 2010, 2011, 2013 Laboratoire de Recherche et
// Développement de l'Epita (LRDE)
//
// This file is part of Spot, a model checking library.
//
......@@ -45,7 +46,8 @@ namespace spot
/// \param sm an scc_map of the automaton if available (it will be
/// built otherwise. If you supply an scc_map you should call
/// build_map() before passing it to this function.
bool is_guarantee_automaton(const tgba* aut, const scc_map* sm = 0);
SPOT_API bool
is_guarantee_automaton(const tgba* aut, const scc_map* sm = 0);
/// \brief Whether a minimized WDBA represents a safety property.
///
......@@ -54,8 +56,8 @@ namespace spot
/// only accepting transitions.
///
/// \param aut the automaton to check
bool is_safety_mwdba(const tgba* aut);
SPOT_API bool
is_safety_mwdba(const tgba* aut);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment