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

Fix verbatim blocks of Doxygen comments.

* src/ltlast/formula.hh, src/ltlvisit/contain.hh,
src/ltlvisit/randomltl.hh, src/ltlvisit/reduce.hh,
src/ltlvisit/remove_x.hh, src/ltlvisit/simplify.hh, src/ltlvisit/snf.hh,
src/misc/minato.hh, src/misc/optionmap.hh,
src/saba/sabacomplementtgba.hh, src/taalgos/emptinessta.hh,
src/taalgos/minimize.hh, src/taalgos/tgba2ta.hh,
src/tgba/tgbakvcomplement.hh, src/tgbaalgos/cycles.hh,
src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbaalgos/gtec/gtec.hh,
src/tgbaalgos/gv04.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/randomgraph.hh, src/tgbaalgos/se05.hh,
src/tgbaalgos/simulation.hh, src/tgbaalgos/tau03.hh,
src/tgbaalgos/tau03opt.hh: Surround verbatim blocks with /** ... */
instead of using /// on each line.  Otherwise Doxygen will output the
leading "///" tokens -- apparently this is a feature.
* src/sanity/style.test: Strip multi-line comments before checking
code style.
parent 1ec9cebe
......@@ -186,20 +186,20 @@ namespace spot
/// \brief Whether the formula is purely eventual.
///
/// Pure eventuality formulae are defined in
/// \verbatim
/// @InProceedings{ etessami.00.concur,
/// author = {Kousha Etessami and Gerard J. Holzmann},
/// title = {Optimizing {B\"u}chi Automata},
/// booktitle = {Proceedings of the 11th International Conference on
/// Concurrency Theory (Concur'2000)},
/// pages = {153--167},
/// year = {2000},
/// editor = {C. Palamidessi},
/// volume = {1877},
/// series = {Lecture Notes in Computer Science},
/// publisher = {Springer-Verlag}
/// }
/// \endverbatim
/** \verbatim
@InProceedings{ etessami.00.concur,
author = {Kousha Etessami and Gerard J. Holzmann},
title = {Optimizing {B\"u}chi Automata},
booktitle = {Proceedings of the 11th International Conference on
Concurrency Theory (Concur'2000)},
pages = {153--167},
year = {2000},
editor = {C. Palamidessi},
volume = {1877},
series = {Lecture Notes in Computer Science},
publisher = {Springer-Verlag}
}
\endverbatim */
///
/// A word that satisfies a pure eventuality can be prefixed by
/// anything and still satisfies the formula.
......@@ -211,20 +211,20 @@ namespace spot
/// \brief Whether a formula is purely universal.
///
/// Purely universal formulae are defined in
/// \verbatim
/// @InProceedings{ etessami.00.concur,
/// author = {Kousha Etessami and Gerard J. Holzmann},
/// title = {Optimizing {B\"u}chi Automata},
/// booktitle = {Proceedings of the 11th International Conference on
/// Concurrency Theory (Concur'2000)},
/// pages = {153--167},
/// year = {2000},
/// editor = {C. Palamidessi},
/// volume = {1877},
/// series = {Lecture Notes in Computer Science},
/// publisher = {Springer-Verlag}
/// }
/// \endverbatim
/** \verbatim
@InProceedings{ etessami.00.concur,
author = {Kousha Etessami and Gerard J. Holzmann},
title = {Optimizing {B\"u}chi Automata},
booktitle = {Proceedings of the 11th International Conference on
Concurrency Theory (Concur'2000)},
pages = {153--167},
year = {2000},
editor = {C. Palamidessi},
volume = {1877},
series = {Lecture Notes in Computer Science},
publisher = {Springer-Verlag}
}
\endverbatim */
///
/// Any (non-empty) suffix of a word that satisfies a purely
/// universal formula also satisfies the formula.
......
......@@ -83,22 +83,22 @@ namespace spot
/// \brief Reduce a formula using language containment relationships.
///
/// The method is taken from table 4.1 in
/// \verbatim
///@TechReport{ tauriainen.03.a83,
/// author = {Heikki Tauriainen},
/// title = {On Translating Linear Temporal Logic into Alternating and
/// Nondeterministic Automata},
/// institution = {Helsinki University of Technology, Laboratory for
/// Theoretical Computer Science},
/// address = {Espoo, Finland},
/// month = dec,
/// number = {A83},
/// pages = {132},
/// type = {Research Report},
/// year = {2003},
/// note = {Reprint of Licentiate's thesis}
///}
/// \endverbatim
/** \verbatim
@TechReport{ tauriainen.03.a83,
author = {Heikki Tauriainen},
title = {On Translating Linear Temporal Logic into Alternating and
Nondeterministic Automata},
institution = {Helsinki University of Technology, Laboratory for
Theoretical Computer Science},
address = {Espoo, Finland},
month = dec,
number = {A83},
pages = {132},
type = {Research Report},
year = {2003},
note = {Reprint of Licentiate's thesis}
}
\endverbatim */
///
/// (The "dagged" cells in the tables are not handled here.)
///
......
......@@ -117,24 +117,24 @@ namespace spot
///
/// The default priorities are defined as follows:
///
/// \verbatim
/// ap n
/// false 1
/// true 1
/// not 1
/// F 1
/// G 1
/// X 1
/// equiv 1
/// implies 1
/// xor 1
/// R 1
/// U 1
/// W 1
/// M 1
/// and 1
/// or 1
/// \endverbatim
/** \verbatim
ap n
false 1
true 1
not 1
F 1
G 1
X 1
equiv 1
implies 1
xor 1
R 1
U 1
W 1
M 1
and 1
or 1
\endverbatim */
///
/// Where \c n is the number of atomic propositions in the
/// set passed to the constructor.
......@@ -168,17 +168,17 @@ namespace spot
///
/// The default priorities are defined as follows:
///
/// \verbatim
/// ap n
/// false 1
/// true 1
/// not 1
/// equiv 1
/// implies 1
/// xor 1
/// and 1
/// or 1
/// \endverbatim
/** \verbatim
ap n
false 1
true 1
not 1
equiv 1
implies 1
xor 1
and 1
or 1
\endverbatim */
///
/// Where \c n is the number of atomic propositions in the
/// set passed to the constructor.
......@@ -207,19 +207,19 @@ namespace spot
///
/// The default priorities are defined as follows:
///
/// \verbatim
/// eword 1
/// boolform 1
/// star 1
/// star_b 1
/// equal_b 1
/// goto_b 1
/// and 1
/// andNLM 1
/// or 1
/// concat 1
/// fusion 1
/// \endverbatim
/** \verbatim
eword 1
boolform 1
star 1
star_b 1
equal_b 1
goto_b 1
and 1
andNLM 1
or 1
concat 1
fusion 1
\endverbatim */
///
/// Where "boolfrom" designates a Boolean formula generated
/// by random_boolean.
......@@ -252,27 +252,27 @@ namespace spot
///
/// The default priorities are defined as follows:
///
/// \verbatim
/// ap n
/// false 1
/// true 1
/// not 1
/// F 1
/// G 1
/// X 1
/// Closure 1
/// equiv 1
/// implies 1
/// xor 1
/// R 1
/// U 1
/// W 1
/// M 1
/// and 1
/// or 1
/// EConcat 1
/// UConcat 1
/// \endverbatim
/** \verbatim
ap n
false 1
true 1
not 1
F 1
G 1
X 1
Closure 1
equiv 1
implies 1
xor 1
R 1
U 1
W 1
M 1
and 1
or 1
EConcat 1
UConcat 1
\endverbatim */
///
/// Where \c n is the number of atomic propositions in the
/// set passed to the constructor.
......
......@@ -80,20 +80,20 @@ namespace spot
/// \brief Check whether a formula is a pure eventuality.
///
/// Pure eventuality formulae are defined in
/// \verbatim
/// @InProceedings{ etessami.00.concur,
/// author = {Kousha Etessami and Gerard J. Holzmann},
/// title = {Optimizing {B\"u}chi Automata},
/// booktitle = {Proceedings of the 11th International Conference on
/// Concurrency Theory (Concur'2000)},
/// pages = {153--167},
/// year = {2000},
/// editor = {C. Palamidessi},
/// volume = {1877},
/// series = {Lecture Notes in Computer Science},
/// publisher = {Springer-Verlag}
/// }
/// \endverbatim
/** \verbatim
@InProceedings{ etessami.00.concur,
author = {Kousha Etessami and Gerard J. Holzmann},
title = {Optimizing {B\"u}chi Automata},
booktitle = {Proceedings of the 11th International Conference on
Concurrency Theory (Concur'2000)},
pages = {153--167},
year = {2000},
editor = {C. Palamidessi},
volume = {1877},
series = {Lecture Notes in Computer Science},
publisher = {Springer-Verlag}
}
\endverbatim */
///
/// A word that satisfies a pure eventuality can be prefixed by
/// anything and still satisfies the formula.
......@@ -109,20 +109,20 @@ namespace spot
/// \brief Check whether a formula is purely universal.
///
/// Purely universal formulae are defined in
/// \verbatim
/// @InProceedings{ etessami.00.concur,
/// author = {Kousha Etessami and Gerard J. Holzmann},
/// title = {Optimizing {B\"u}chi Automata},
/// booktitle = {Proceedings of the 11th International Conference on
/// Concurrency Theory (Concur'2000)},
/// pages = {153--167},
/// year = {2000},
/// editor = {C. Palamidessi},
/// volume = {1877},
/// series = {Lecture Notes in Computer Science},
/// publisher = {Springer-Verlag}
/// }
/// \endverbatim
/** \verbatim
@InProceedings{ etessami.00.concur,
author = {Kousha Etessami and Gerard J. Holzmann},
title = {Optimizing {B\"u}chi Automata},
booktitle = {Proceedings of the 11th International Conference on
Concurrency Theory (Concur'2000)},
pages = {153--167},
year = {2000},
editor = {C. Palamidessi},
volume = {1877},
series = {Lecture Notes in Computer Science},
publisher = {Springer-Verlag}
}
\endverbatim */
///
/// Any (non-empty) suffix of a word that satisfies if purely
/// universal formula also satisfies the formula.
......
......@@ -31,18 +31,18 @@ namespace spot
/// This function may also be applied to stutter-sensitive formulas,
/// but in that case the resulting formula is not equivalent.
///
/// \verbatim
/// @Article{ etessami.00.ipl,
/// author = {Kousha Etessami},
/// title = {A note on a question of {P}eled and {W}ilke regarding
/// stutter-invariant {LTL}},
/// journal = {Information Processing Letters},
/// volume = {75},
/// number = {6},
/// year = {2000},
/// pages = {261--263}
/// }
/// \endverbatim
/** \verbatim
@Article{ etessami.00.ipl,
author = {Kousha Etessami},
title = {A note on a question of {P}eled and {W}ilke regarding
stutter-invariant {LTL}},
journal = {Information Processing Letters},
volume = {75},
number = {6},
year = {2000},
pages = {261--263}
}
\endverbatim */
const formula* remove_x(const formula* f);
/// \brief Whether an LTL formula \a f is stutter-insensitive.
......@@ -51,18 +51,18 @@ namespace spot
/// <code>remove_x(f)</code> is equivalent to \a f. This only
/// works for LTL formulas, not PSL formulas.
///
/// \verbatim
/// @Article{ etessami.00.ipl,
/// author = {Kousha Etessami},
/// title = {A note on a question of {P}eled and {W}ilke regarding
/// stutter-invariant {LTL}},
/// journal = {Information Processing Letters},
/// volume = {75},
/// number = {6},
/// year = {2000},
/// pages = {261--263}
/// }
/// \endverbatim
/** \verbatim
@Article{ etessami.00.ipl,
author = {Kousha Etessami},
title = {A note on a question of {P}eled and {W}ilke regarding
stutter-invariant {LTL}},
journal = {Information Processing Letters},
volume = {75},
number = {6},
year = {2000},
pages = {261--263}
}
\endverbatim */
bool is_stutter_insensitive(const formula* f);
}
}
......
......@@ -102,19 +102,19 @@ namespace spot
/// Returns whether \a f syntactically implies \a g.
///
/// This is adapted from
/// \verbatim
/// @InProceedings{ somenzi.00.cav,
/// author = {Fabio Somenzi and Roderick Bloem},
/// title = {Efficient {B\"u}chi Automata for {LTL} Formulae},
/// booktitle = {Proceedings of the 12th International Conference on
/// Computer Aided Verification (CAV'00)},
/// pages = {247--263},
/// year = {2000},
/// volume = {1855},
/// series = {Lecture Notes in Computer Science},
/// publisher = {Springer-Verlag}
/// }
/// \endverbatim
/** \verbatim
@InProceedings{ somenzi.00.cav,
author = {Fabio Somenzi and Roderick Bloem},
title = {Efficient {B\"u}chi Automata for {LTL} Formulae},
booktitle = {Proceedings of the 12th International Conference on
Computer Aided Verification (CAV'00)},
pages = {247--263},
year = {2000},
volume = {1855},
series = {Lecture Notes in Computer Science},
publisher = {Springer-Verlag}
}
\endverbatim */
///
bool syntactic_implication(const formula* f, const formula* g);
/// \brief Syntactic implication with one negated argument.
......
......@@ -37,16 +37,16 @@ namespace spot
/// corresponds to the E° operation defined in the following
/// paper.
///
/// \verbatim
/// @Article{ bruggeman.96.tcs,
/// author = {Anne Br{\"u}ggemann-Klein},
/// title = {Regular Expressions into Finite Automata},
/// journal = {Theoretical Computer Science},
/// year = {1996},
/// volume = {120},
/// pages = {87--98}
/// }
/// \endverbatim
/** \verbatim
@Article{ bruggeman.96.tcs,
author = {Anne Br{\"u}ggemann-Klein},
title = {Regular Expressions into Finite Automata},
journal = {Theoretical Computer Science},
year = {1996},
volume = {120},
pages = {87--98}
}
\endverbatim */
///
/// \param sere the SERE to rewrite
/// \param cache an optional cache
......
......@@ -33,20 +33,20 @@ namespace spot
///
/// This algorithm implements a derecursived version the Minato-Morreale
/// algorithm presented in the following paper.
/// \verbatim
/// @InProceedings{ minato.92.sasimi,
/// author = {Shin-ichi Minato},
/// title = {Fast Generation of Irredundant Sum-of-Products Forms
/// from Binary Decision Diagrams},
/// booktitle = {Proceedings of the third Synthesis and Simulation
/// and Meeting International Interchange workshop
/// (SASIMI'92)},
/// pages = {64--73},
/// year = {1992},
/// address = {Kobe, Japan},
/// month = {April}
/// }
/// \endverbatim
/** \verbatim
@InProceedings{ minato.92.sasimi,
author = {Shin-ichi Minato},
title = {Fast Generation of Irredundant Sum-of-Products Forms
from Binary Decision Diagrams},
booktitle = {Proceedings of the third Synthesis and Simulation
and Meeting International Interchange workshop
(SASIMI'92)},
pages = {64--73},
year = {1992},
address = {Kobe, Japan},
month = {April}
}
\endverbatim */
class minato_isop
{
public:
......
......@@ -40,11 +40,11 @@ namespace spot
/// sign). If not specified, the default value is 1.
///
/// The following three lines are equivalent.
/// \verbatim
/// optA !optB optC=4194304
/// optA=1, optB=0, optC=4096K
/// optC = 4M; optA !optB
/// \endverbatim
/** \verbatim
optA !optB optC=4194304
optA=1, optB=0, optC=4096K
optC = 4M; optA !optB
\endverbatim */
///
/// \return A non-null pointer to the option for which an expected integer
/// value cannot be parsed.
......
......@@ -36,17 +36,17 @@ namespace spot
/// are expected to reduce the size of the automaton.
///
/// This algorithm comes from:
/// \verbatim
/// @Article{ gurumurthy.03.lncs,
/// title = {On complementing nondeterministic {B\"uchi} automata},
/// author = {Gurumurthy, S. and Kupferman, O. and Somenzi, F. and
/// Vardi, M.Y.},
/// journal = {Lecture Notes in Computer Science},
/// pages = {96--110},
/// year = {2003},
/// publisher = {Springer-Verlag}
/// }
/// \endverbatim
/** \verbatim
@Article{ gurumurthy.03.lncs,
title = {On complementing nondeterministic {B\"uchi} automata},
author = {Gurumurthy, S. and Kupferman, O. and Somenzi, F. and
Vardi, M.Y.},
journal = {Lecture Notes in Computer Science},
pages = {96--110},
year = {2003},
publisher = {Springer-Verlag}
}
\endverbatim */
///
/// The construction is done on-the-fly, by the
/// \c saba_complement_succ_iterator class.
......
......@@ -76,7 +76,20 @@ for dir in "${INCDIR-..}" "${INCDIR-..}"/../iface; do
-0777 $file || diag "always put 'ingroup' before 'brief'"
# Strip comments and strings.
sed 's,[ ]*//.*,,;s,"[^"]*","",g' < $file > $tmp
#
# Multi-line comments of the form
# /* Line 1
# Line 2
# Line 3 */
# are replaced by
# //
# //
# //
# to keep the line numbers correct in the diagnostics.
perl -pe 'sub f {my $a = shift; $a =~ s:[^\n]*://:g; return "$a"}
s,/\*(.*?)\*/,f($1),sge;
s,//.*?\n,//\n,g;
s,"[^"\n]*","",g' -0777 <$file >$tmp
grep '[ ]$' $tmp &&
diag 'Trailing whitespace.'
......
......@@ -50,19 +50,19 @@ namespace spot
/// was found empty. Otherwise the automaton accepts some run.
///
/// This is based on the following paper.
/// \verbatim
/// @InProceedings{ geldenhuys.06.spin,
/// author = {Jaco Geldenhuys and Henri Hansen},
/// title = {Larger Automata and Less Work for {LTL} Model Checking},
/// booktitle = {Proceedings of the 13th International SPIN Workshop
/// (SPIN'06)},
/// year = {2006},
/// pages = {53--70},
/// series = {Lecture Notes in Computer Science},
/// volume = {3925},
/// publisher = {Springer}
/// }
/// \endverbatim
/** \verbatim
@InProceedings{ geldenhuys.06.spin,
author = {Jaco Geldenhuys and Henri Hansen},
title = {Larger Automata and Less Work for {LTL} Model Checking},
booktitle = {Proceedings of the 13th International SPIN Workshop
(SPIN'06)},
year = {2006},
pages = {53--70},
series = {Lecture Notes in Computer Science},
volume = {3925},
publisher = {Springer}
}
\endverbatim */
///
/// the implementation of spot::ta_check::check() is inspired from the
/// two-pass algorithm of the paper above:
......
......@@ -38,22 +38,22 @@ namespace spot
/// achieved using any algorithm based on partition refinement
///
/// For more detail about this type of algorithm, see the following paper:
/// \verbatim
/// @InProceedings{valmari.09.icatpn,
/// author = {Antti Valmari},
/// title = {Bisimilarity Minimization in in O(m logn) Time},
/// booktitle = {Proceedings of the 30th International Conference on
/// the Applications and Theory of Petri Nets
/// (ICATPN'09)},
/// series = {Lecture Notes in Computer Science},
/// publisher = {Springer},
/// isbn = {978-3-642-02423-8},
/// pages = {123--142},
/// volume = 5606,
/// url = {http://dx.doi.org/10.1007/978-3-642-02424-5_9},
/// year = {2009}
/// }
/// \endverbatim
/** \verbatim
@InProceedings{valmari.09.icatpn,
author = {Antti Valmari},
title = {Bisimilarity Minimization in in O(m logn) Time},
booktitle = {Proceedings of the 30th International Conference on
the Applications and Theory of Petri Nets