more doxygen

This introduce some section for acceptance transformation, and add
more comments in a few places.

* spot/taalgos/emptinessta.hh, spot/twa/twa.hh, spot/twa/twagraph.hh,
spot/twaalgos/bfssteps.hh, spot/twaalgos/cleanacc.hh,
spot/twaalgos/degen.hh, spot/twaalgos/dualize.hh,
spot/twaalgos/parity.hh, spot/twaalgos/rabin2parity.hh,
spot/twaalgos/remfin.hh, spot/twaalgos/sccinfo.hh,
spot/twaalgos/sepsets.hh, spot/twaalgos/split.hh,
spot/twaalgos/totgba.hh: More doxygen.
* spot/twa/twagraph.cc: Typos in comments.
This commit is contained in:
Alexandre Duret-Lutz 2018-01-18 18:00:11 +01:00
parent 7e02aae366
commit 1a0fa3b722
15 changed files with 115 additions and 49 deletions

View file

@ -1,6 +1,6 @@
// -*- coding: utf-8 -*-
// Copyright (C) 2011, 2013, 2014 Laboratoire de Recherche et Developpement de
// l'Epita (LRDE).
// Copyright (C) 2011, 2013, 2014, 2018 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
// et Marie Curie.
@ -27,7 +27,7 @@
namespace spot
{
/// \ingroup twa_misc
/// \ingroup twa_generic
/// \brief Make a BFS in a spot::tgba to compute a twa_run::steps.
///
/// This class should be used to compute the shortest path

View file

@ -1,6 +1,6 @@
// -*- coding: utf-8 -*-
// Copyright (C) 2015, 2017 Laboratoire de Recherche et Développement
// de l'Epita.
// Copyright (C) 2015, 2017, 2018 Laboratoire de Recherche et
// Développement de l'Epita.
//
// This file is part of Spot, a model checking library.
//
@ -23,7 +23,7 @@
namespace spot
{
/// \ingroup twa_algorithms
/// \ingroup twa_acc_transform
/// \brief Remove useless acceptance sets
///
/// This removes from the automaton the acceptance marks that are
@ -37,7 +37,7 @@ namespace spot
SPOT_API twa_graph_ptr
cleanup_acceptance_here(twa_graph_ptr aut, bool strip = true);
/// \ingroup twa_algorithms
/// \ingroup twa_acc_transform
/// \brief Remove useless acceptance sets
///
/// This removes from the automaton the acceptance marks that are
@ -49,7 +49,7 @@ namespace spot
cleanup_acceptance(const_twa_graph_ptr aut);
/// @{
/// \ingroup twa_algorithms
/// \ingroup twa_acc_transform
/// \brief Simplify an acceptance condition
///
/// Does evereything cleanup_acceptance() does, but additionally:

View file

@ -1,6 +1,6 @@
// -*- coding: utf-8 -*-
// Copyright (C) 2012, 2013, 2014 2015, 2017, Laboratoire de Recherche et
// Développement de l'Epita.
// Copyright (C) 2012-2015, 2017, 2018 Laboratoire de
// Recherche et Développement de l'Epita.
//
// This file is part of Spot, a model checking library.
//
@ -23,7 +23,7 @@
namespace spot
{
/// \ingroup twa_misc
/// \ingroup twa_acc_transform
/// \brief Degeneralize a spot::tgba into an equivalent sba with
/// only one acceptance condition.
///

View file

@ -1,6 +1,6 @@
// -*- coding: utf-8 -*-
// Copyright (C) 2017 Laboratoire de Recherche et Développement de
// l'Epita (LRDE).
// Copyright (C) 2017, 2018 Laboratoire de Recherche et Développement
// de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
//
@ -24,6 +24,7 @@
namespace spot
{
/// \ingroup twa_misc
/// \brief Complement an automaton by dualizing it.
///
/// Given an automaton \a aut of any type, produces the dual as output. The

View file

@ -25,7 +25,7 @@
namespace spot
{
/// \addtogroup parity_algorithms Algorithms for parity acceptance
/// \ingroup twa_algorithms
/// \ingroup twa_acc_transform
/// \ingroup parity_algorithms
/// @{

View file

@ -22,6 +22,7 @@
namespace spot
{
/// \ingroup twa_acc_transform
/// \brief Turn a Rabin-like automaton into a parity automaton based on the
/// index appearence record (IAR)
///
@ -34,12 +35,18 @@ namespace spot
/// acceptance condition.
/// Details on the algorithm can be found in:
/// https://arxiv.org/pdf/1701.05738.pdf (published at TACAS 2017)
///
/// Throws an std::runtime_error if the input is not Rabin-like.
SPOT_API
twa_graph_ptr
iar(const const_twa_graph_ptr& aut);
/// Return nullptr if the input automaton is not Rabin-like, and calls iar()
/// otherwise.
/// \ingroup twa_acc_transform
/// \brief Turn a Rabin-like automaton into a parity automaton based on the
/// index appearence record (IAR)
///
/// Return nullptr if the input automaton is not Rabin-like, and
/// calls spot::iar() otherwise.
SPOT_API
twa_graph_ptr
iar_maybe(const const_twa_graph_ptr& aut);

View file

@ -1,6 +1,6 @@
// -*- coding: utf-8 -*-
// Copyright (C) 2015, 2017 Laboratoire de Recherche et Développement
// de l'Epita.
// Copyright (C) 2015, 2017, 2018 Laboratoire de Recherche et
// Développement de l'Epita.
//
// This file is part of Spot, a model checking library.
//
@ -23,7 +23,7 @@
namespace spot
{
/// \ingroup twa_algorithms
/// \ingroup twa_acc_transform
/// \brief Convert a Rabin automaton to Büchi automaton, preserving
/// determinism when possible.
///
@ -40,7 +40,7 @@ namespace spot
SPOT_API twa_graph_ptr
rabin_to_buchi_maybe(const const_twa_graph_ptr& aut);
/// \ingroup twa_algorithms
/// \ingroup twa_acc_transform
/// \brief Rewrite an automaton without Fin acceptance.
///
/// This algorithm dispatches between many strategies. It has

View file

@ -1,5 +1,5 @@
// -*- coding: utf-8 -*-
// Copyright (C) 2014-2017 Laboratoire de Recherche et Développement
// Copyright (C) 2014-2018 Laboratoire de Recherche et Développement
// de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
@ -211,7 +211,8 @@ namespace spot
}
/// Storage for SCC related information.
/// \ingroup twa_misc
/// \brief Storage for SCC related information.
class SPOT_API scc_info_node
{
public:
@ -298,7 +299,8 @@ namespace spot
}
};
/// Options to alter the behavior of scc_info
/// \ingroup twa_misc
/// \brief Options to alter the behavior of scc_info
enum class scc_info_options
{
/// Stop exploring when an accepting SCC is found, and do not track
@ -347,6 +349,7 @@ namespace spot
| static_cast<ut>(right));
}
/// \ingroup twa_misc
/// \brief Compute an SCC map and gather assorted information.
///
/// This takes twa_graph as input and compute its SCCs. This

View file

@ -1,5 +1,5 @@
// -*- coding: utf-8 -*-
// Copyright (C) 2015 Laboratoire de Recherche et Développement
// Copyright (C) 2015, 2018 Laboratoire de Recherche et Développement
// de l'Epita.
//
// This file is part of Spot, a model checking library.
@ -23,10 +23,12 @@
namespace spot
{
/// \ingroup twa_acc_transform
/// \brief Whether the Inf and Fin numbers are disjoints
SPOT_API bool
has_separate_sets(const const_twa_graph_ptr& aut);
/// \ingroup twa_acc_transform
/// \brief Separate the Fin and Inf sets used by an automaton
///
/// This makes sure that the numbers used a Fin and Inf are

View file

@ -1,5 +1,5 @@
// -*- coding: utf-8 -*-
// Copyright (C) 2017 Laboratoire de Recherche et Développement
// Copyright (C) 2017, 2018 Laboratoire de Recherche et Développement
// de l'Epita.
//
// This file is part of Spot, a model checking library.
@ -23,6 +23,7 @@
namespace spot
{
/// \ingroup twa_misc
/// \brief transform edges into transitions
///
/// Create a new version of the automaton where all edges are split

View file

@ -25,7 +25,7 @@
namespace spot
{
/// \ingroup twa_algorithms
/// \ingroup twa_acc_transform
/// \brief Take an automaton with any acceptance condition and return
/// an equivalent Generalized Büchi automaton.
///
@ -37,13 +37,13 @@ namespace spot
SPOT_API twa_graph_ptr
to_generalized_buchi(const const_twa_graph_ptr& aut);
/// \ingroup twa_algorithms
/// \ingroup twa_acc_transform
/// \brief Convert Streett acceptance into generalized Büchi
/// acceptance.
SPOT_API twa_graph_ptr
streett_to_generalized_buchi(const const_twa_graph_ptr& in);
/// \ingroup twa_algorithms
/// \ingroup twa_acc_transform
/// \brief Convert Streett acceptance into generalized Büchi
///
/// This version only works SPOT_STREET_CONF_MIN is set to a number
@ -53,7 +53,7 @@ namespace spot
SPOT_API twa_graph_ptr
streett_to_generalized_buchi_maybe(const const_twa_graph_ptr& in);
/// \ingroup twa_algorithms
/// \ingroup twa_acc_transform
/// \brief Take an automaton with any acceptance condition and return
/// an equivalent Generalized Rabin automaton.
///
@ -68,7 +68,7 @@ namespace spot
to_generalized_rabin(const const_twa_graph_ptr& aut,
bool share_inf = false);
/// \ingroup twa_algorithms
/// \ingroup twa_acc_transform
/// \brief Take an automaton with any acceptance condition and return
/// an equivalent Generalized Streett automaton.
///
@ -83,6 +83,7 @@ namespace spot
to_generalized_streett(const const_twa_graph_ptr& aut,
bool share_fin = false);
/// \ingroup twa_acc_transform
/// \brief Converts any DNF acceptance condition into Streett-like.
///
/// This function is an optimized version of the construction described