* src/ltlast/atomic_prop.hh, src/ltlast/binop.hh,

src/ltlast/constant.hh, src/ltlast/formula.hh,
src/ltlast/multop.hh, src/ltlast/refformula.hh,
src/ltlast/unop.hh, src/ltlast/visitor.hh, src/ltlenv/declenv.hh,
src/ltlenv/defaultenv.hh, src/ltlenv/environment.hh,
src/ltlparse/public.hh, src/ltlvisit/apcollect.hh,
src/ltlvisit/basicreduce.hh, src/ltlvisit/clone.hh,
src/ltlvisit/destroy.hh, src/ltlvisit/dotty.hh,
src/ltlvisit/dump.hh, src/ltlvisit/length.hh,
src/ltlvisit/lunabbrev.hh, src/ltlvisit/nenoform.hh: Add Doxygen
groups for LTL algorithms and types.
* doc/Makefile.am (fast-doc): New target.
This commit is contained in:
Alexandre Duret-Lutz 2004-11-17 16:23:40 +00:00
parent 8c6dff00b6
commit 36aadba740
29 changed files with 121 additions and 20 deletions

View file

@ -1,5 +1,19 @@
2004-11-17 Alexandre Duret-Lutz <adl@src.lip6.fr>
* src/ltlast/atomic_prop.hh, src/ltlast/binop.hh,
src/ltlast/constant.hh, src/ltlast/formula.hh,
src/ltlast/multop.hh, src/ltlast/refformula.hh,
src/ltlast/unop.hh, src/ltlast/visitor.hh, src/ltlenv/declenv.hh,
src/ltlenv/defaultenv.hh, src/ltlenv/environment.hh,
src/ltlparse/public.hh, src/ltlvisit/apcollect.hh,
src/ltlvisit/basicreduce.hh, src/ltlvisit/clone.hh,
src/ltlvisit/destroy.hh, src/ltlvisit/dotty.hh,
src/ltlvisit/dump.hh, src/ltlvisit/length.hh,
src/ltlvisit/lunabbrev.hh, src/ltlvisit/nenoform.hh: Add Doxygen
groups for LTL algorithms and types.
* doc/Makefile.am (fast-doc): New target.
* src/misc/hashfunc.hh: Include cstddef to define size_t, and guard
the file for multiple inclusions.

View file

@ -21,7 +21,7 @@
DOXYGEN = doxygen
.PHONY: doc spot
.PHONY: doc fast-doc
all-local: $(srcdir)/stamp
@ -29,6 +29,11 @@ doc:
rm -f $(srcdir)/stamp
$(MAKE) $(srcdir)/stamp
fast-doc:
$(MAKE) Doxyfile
$(DOXYGEN)
touch $(srcdir)/stamp
$(srcdir)/stamp: $(srcdir)/Doxyfile.in $(top_srcdir)/configure.ac
$(MAKE) Doxyfile
rm -rf spot.html spot.latex

View file

@ -35,7 +35,8 @@ namespace spot
namespace ltl
{
/// Atomic propositions.
/// \brief Atomic propositions.
/// \ingroup ltl_ast
class atomic_prop : public ref_formula
{
public:

View file

@ -35,7 +35,8 @@ namespace spot
namespace ltl
{
/// Binary operator.
/// \brief Binary operator.
/// \ingroup ltl_ast
class binop : public ref_formula
{
public:

View file

@ -31,7 +31,8 @@ namespace spot
namespace ltl
{
/// A constant (True or False)
/// \brief A constant (True or False)
/// \ingroup ltl_ast
class constant : public formula
{
public:

View file

@ -30,8 +30,39 @@ namespace spot
{
namespace ltl
{
/// \defgroup ltl LTL formulae
///
/// This module gathers types and definitions related to LTL formulae.
/// \addtogroup ltl_essential Essential LTL types
/// \ingroup ltl
/// \addtogroup ltl_ast LTL Abstract Syntax Tree
/// \ingroup ltl
/// \addtogroup ltl_environment LTL environments
/// \ingroup ltl
/// LTL environment implementations.
/// \addtogroup ltl_algorithm Algorithms for LTL formulae
/// \ingroup ltl
/// \addtogroup ltl_io Input/Output of LTL formulae
/// \ingroup ltl_algorithm
/// \addtogroup ltl_visitor Derivable visitors
/// \ingroup ltl_algorithm
/// \addtogroup ltl_rewriting Rewriting LTL formulae
/// \ingroup ltl_algorithm
/// \addtogroup ltl_misc Miscellaneous algorithms for LTL formulae
/// \ingroup ltl_algorithm
/// \brief An LTL formula.
/// \ingroup ltl_essential
/// \ingroup ltl_ast
///
/// The only way you can work with a formula is to
/// build a spot::ltl::visitor or spot::ltl::const_visitor.

View file

@ -34,6 +34,7 @@ namespace spot
{
/// \brief Multi-operand operators.
/// \ingroup ltl_ast
///
/// These operators are considered commutative and associative.
class multop : public ref_formula

View file

@ -32,6 +32,7 @@ namespace spot
{
/// \brief A reference-counted LTL formula.
/// \ingroup ltl_ast
class ref_formula : public formula
{
protected:

View file

@ -32,7 +32,8 @@ namespace spot
namespace ltl
{
/// Unary operator.
/// \brief Unary operators.
/// \ingroup ltl_ast
class unop : public ref_formula
{
public:

View file

@ -31,6 +31,7 @@ namespace spot
namespace ltl
{
/// \brief Formula visitor that can modify the formula.
/// \ingroup ltl_essential
///
/// Writing visitors is the prefered way
/// to traverse a formula, since it doesn't

View file

@ -34,6 +34,7 @@ namespace spot
{
/// \brief A declarative environment.
/// \ingroup ltl_environment
///
/// This environment recognizes all atomic propositions
/// that have been previously declared. It will reject other.

View file

@ -1,4 +1,4 @@
// Copyright (C) 2003 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
// et Marie Curie.
//
@ -30,6 +30,7 @@ namespace spot
{
/// \brief A laxist environment.
/// \ingroup ltl_environment
///
/// This environment recognizes all atomic propositions.
///

View file

@ -1,4 +1,4 @@
// Copyright (C) 2003 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
// et Marie Curie.
//
@ -29,8 +29,8 @@ namespace spot
{
namespace ltl
{
/// An environment that describes atomic propositions.
/// \brief An environment that describes atomic propositions.
/// \ingroup ltl_essential
class environment
{
public:

View file

@ -34,6 +34,9 @@ namespace spot
{
namespace ltl
{
/// \addtogroup ltl_io
/// @{
/// \brief A parse diagnostic with its location.
typedef std::pair<yy::Location, std::string> parse_error;
/// \brief A list of parser diagnostics, as filled by parse.
@ -69,6 +72,8 @@ namespace spot
bool format_parse_errors(std::ostream& os,
const std::string& ltl_string,
parse_error_list& error_list);
/// @}
}
}

View file

@ -29,6 +29,9 @@ namespace spot
{
namespace ltl
{
/// \addtogroup ltl_misc
/// @{
/// Set of atomic propositions.
typedef std::set<spot::ltl::atomic_prop*> atomic_prop_set;
@ -42,6 +45,8 @@ namespace spot
/// set containing all these atomic propositions if \c s is 0.
atomic_prop_set*
atomic_prop_collect(const formula* f, atomic_prop_set* s = 0);
/// @}
}
}
#endif

View file

@ -28,12 +28,15 @@ namespace spot
{
namespace ltl
{
/// Basic rewritings.
/// \brief Basic rewritings.
/// \ingroup ltl_rewriting
formula* basic_reduce(const formula* f);
/// Whether a formula starts with GF.
/// \brief Whether a formula starts with GF.
/// \ingroup ltl_misc
bool is_GF(const formula* f);
/// Whether a formula starts with FG.
/// \brief Whether a formula starts with FG.
/// \ingroup ltl_misc
bool is_FG(const formula* f);
}
}

View file

@ -1,4 +1,4 @@
// Copyright (C) 2003 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
// et Marie Curie.
//
@ -30,6 +30,7 @@ namespace spot
namespace ltl
{
/// \brief Clone a formula.
/// \ingroup ltl_visitor
///
/// This visitor is public, because it's convenient
/// to derive from it and override part of its methods.
@ -56,6 +57,7 @@ namespace spot
};
/// \brief Clone a formula.
/// \ingroup ltl_essential
formula* clone(const formula* f);
}
}

View file

@ -1,4 +1,4 @@
// Copyright (C) 2003 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
// et Marie Curie.
//
@ -29,6 +29,7 @@ namespace spot
namespace ltl
{
/// \brief Destroys a formula
/// \ingroup ltl_essential
void destroy(const formula *f);
}
}

View file

@ -30,6 +30,7 @@ namespace spot
namespace ltl
{
/// \brief Write a formula tree using dot's syntax.
/// \ingroup ltl_io
/// \param os The stream where it should be output.
/// \param f The formula to translate.
///

View file

@ -30,6 +30,7 @@ namespace spot
namespace ltl
{
/// \brief Dump a formula tree.
/// \ingroup ltl_io
/// \param os The stream where it should be output.
/// \param f The formula to dump.
///

View file

@ -29,6 +29,7 @@ namespace spot
namespace ltl
{
/// \brief Compute the length of a formula.
/// \ingroup ltl_misc
///
/// The length of a formula is the number of atomic properties,
/// constants, and operators (logical and temporal) occurring in

View file

@ -1,4 +1,4 @@
// Copyright (C) 2003 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
// et Marie Curie.
//
@ -30,6 +30,7 @@ namespace spot
{
/// \brief Clone and rewrite a formula to remove most of the
/// abbreviated logical operators.
/// \ingroup ltl_visitor
///
/// This will rewrite binary operators such as binop::Implies,
/// binop::Equals, and binop::Xor, using only unop::Not, multop::Or,
@ -54,6 +55,7 @@ namespace spot
/// \brief Clone and rewrite a formula to remove most of the abbreviated
/// logical operators.
/// \ingroup ltl_rewriting
///
/// This will rewrite binary operators such as binop::Implies,
/// binop::Equals, and binop::Xor, using only unop::Not, multop::Or,

View file

@ -1,4 +1,4 @@
// Copyright (C) 2003 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
// et Marie Curie.
//
@ -30,6 +30,7 @@ namespace spot
namespace ltl
{
/// \brief Build the negative normal form of \a f.
/// \ingroup ltl_rewriting
///
/// All negations of the formula are pushed in front of the
/// atomic propositions.

View file

@ -1,4 +1,4 @@
// Copyright (C) 2003 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
// et Marie Curie.
//
@ -31,6 +31,7 @@ namespace spot
{
/// \brief Apply an algorithm on each node of an AST,
/// during a postfix traversal.
/// \ingroup ltl_visitor
///
/// Override one or more of the postifix_visitor::doit methods
/// with the algorithm to apply.

View file

@ -30,6 +30,9 @@ namespace spot
namespace ltl
{
/// \addtogroup ltl_rewriting
/// @{
/// Options for spot::ltl::reduce.
enum reduce_options
{
@ -52,8 +55,10 @@ namespace spot
/// which optimizations to apply.
/// \return the reduced formula
formula* reduce(const formula* f, int opt = Reduce_All);
/// @}
/// \brief Check whether a formula is a pure eventuality.
/// \ingroup ltl_misc
///
/// Pure eventuality formulae are defined in
/// \verbatim
@ -76,6 +81,7 @@ namespace spot
bool is_eventual(const formula* f);
/// \brief Check whether a formula is purely universal.
/// \ingroup ltl_misc
///
/// Purely universal formulae are defined in
/// \verbatim

View file

@ -30,6 +30,7 @@ namespace spot
{
/// \brief Replace <code>true U f</code> and <code>false R g</code> by
/// <code>F f</code> and <code>G g</code>.
/// \ingroup ltl_visitor
class simplify_f_g_visitor : public clone_visitor
{
typedef clone_visitor super;
@ -45,6 +46,7 @@ namespace spot
/// \brief Replace <code>true U f</code> and <code>false R g</code> by
/// <code>F f</code> and <code>G g</code>.
/// \ingroup ltl_rewriting
formula* simplify_f_g(const formula* f);
}
}

View file

@ -28,6 +28,10 @@ namespace spot
{
namespace ltl
{
/// \brief Syntactic implication.
/// \ingroup ltl_misc
///
/// This comes from
/// \verbatim
/// @InProceedings{ somenzi.00.cav,
@ -42,14 +46,15 @@ namespace spot
/// publisher = {Springer-Verlag}
/// }
/// \endverbatim
/// \brief Syntactic implication.
bool syntactic_implication(const formula* f1, const formula* f2);
/// \brief Syntactic implication.
/// \ingroup ltl_misc
///
/// If right==false, true if !f1 < f2, false otherwise.
/// If right==true, true if f1 < !f2, false otherwise.
///
/// \see syntactic_implication
bool syntactic_implication_neg(const formula* f1, const formula* f2,
bool right);
}

View file

@ -29,6 +29,9 @@ namespace spot
{
namespace ltl
{
/// \addtogroup ltl_io
/// @{
/// \brief Output a formula as a (parsable) string.
/// \param f The formula to translate.
/// \param os The stream where it should be output.
@ -46,6 +49,8 @@ namespace spot
/// \brief Convert a formula into a (parsable by Spin) string.
/// \param f The formula to translate.
std::string to_spin_string(const formula* f);
/// @}
}
}

View file

@ -1,4 +1,4 @@
// Copyright (C) 2003 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
// et Marie Curie.
//
@ -31,6 +31,7 @@ namespace spot
{
/// \brief Clone and rewrite a formula to remove most of the
/// abbreviated LTL and logical operators.
/// \ingroup ltl_visitor
///
/// The rewriting performed on logical operator is
/// the same as the one done by spot::ltl::unabbreviate_logic_visitor.