doc support

This commit is contained in:
Vítor Santos Costa
2015-01-04 23:58:23 +00:00
parent a87f1040ac
commit 3164ed2d61
124 changed files with 625 additions and 645 deletions

View File

@@ -1,5 +1,5 @@
/** @defgroup Apply Apply Macros
@ingroup YAPLibrary
@ingroup library
@{
This library provides a SWI-compatible set of utilities for applying a

View File

@@ -5,7 +5,7 @@
% Note : the keys should be bound, the associated values need not be.
/** @defgroup Association_Lists Association Lists
@ingroup YAPLibrary
@ingroup library
@{
The following association list manipulation predicates are available

View File

@@ -17,11 +17,12 @@
:- module(attributes, [op(1150, fx, attribute)]).
%% @{
/** @defgroup Old_Style_Attribute_Declarations SICStus Prolog style Attribute Declarations
@ingroup Attributed_Variables
@{
/**
@defgroup Old_Style_Attribute_Declarations SICStus Prolog style Attribute Declarations
@ingroup Attributed_Variables
Old style attribute declarations are activated through loading the
library <tt>atts</tt> . The command
@@ -50,12 +51,17 @@ variable. Unification will resume after this call.
<tt>project_attributes/2</tt> is used from a set of variables into a set of
constraints or goals. One application of <tt>project_attributes/2</tt> is in
the top-level, where it is used to output the set of
floundered constraints at the end of a query.
floundered constraints at the end of a query.
*/
%% @}
%% @{
/** @defgroup Attribute_Declarations Attribute Declarations
@ingroup Old_Style_Attribute_Declarations
@{
Attributes are compound terms associated with a variable. Each attribute
has a <em>name</em> which is <em>private</em> to the module in which the
attribute was defined. Variables may have at most one attribute with a
@@ -498,5 +504,5 @@ do_verify_attributes([_|Mods], AttVar, Binding, Goals) :-
do_verify_attributes(Mods, AttVar, Binding, Goals).
/**
@}
@}
*/

View File

@@ -17,7 +17,7 @@
/** @defgroup AVL_Trees AVL Trees
@ingroup YAPLibrary
@ingroup library
@{
AVL trees are balanced search binary trees. They are named after their

View File

@@ -39,14 +39,14 @@ It relies on dynamic array code.
array_default_size(2048).
/** is_b_hash( +Hash )
/** @pred is_b_hash( +Hash )
Term _Hash_ is a hash table.
*/
is_b_hash(V) :- var(V), !, fail.
is_b_hash(hash(_,_,_,_,_)).
/** b_hash_new( -NewHash )
/** @pred b_hash_new( -NewHash )
Create a empty hash table _NewHash_, with size 2048 entries.
*/
@@ -56,7 +56,7 @@ b_hash_new(hash(Keys, Vals, Size, N, _, _)) :-
array(Vals, Size),
create_mutable(0, N).
/** b_hash_new( -_NewHash_, +_Size_ )
/** @pred b_hash_new( -_NewHash_, +_Size_ )
Create a empty hash table, with size _Size_ entries.
*/
@@ -65,7 +65,7 @@ b_hash_new(hash(Keys, Vals, Size, N, _, _), Size) :-
array(Vals, Size),
create_mutable(0, N).
/** b_hash_new( -_NewHash_, +_Size_, :_Hash_, :_Cmp_ )
/** @pred b_hash_new( -_NewHash_, +_Size_, :_Hash_, :_Cmp_ )
Create a empty hash table, with size _Size_ entries.
_Hash_ defines a partition function, and _Cmp_ defined a comparison function.
@@ -75,13 +75,15 @@ b_hash_new(hash(Keys,Vals, Size, N, HashF, CmpF), Size, HashF, CmpF) :-
array(Vals, Size),
create_mutable(0, N).
/** b_hash_size( +_Hash_, -_Size_ )
/**
@pred b_hash_size( +_Hash_, -_Size_ )
_Size_ unifies with the size of the hash table _Hash_.
*/
b_hash_size(hash(_, _, Size, _, _, _), Size).
/** b_hash_size_lookup( +_Key_, ?_Val_, +_Hash_ )
/**
@pred b_hash_lookup( +_Key_, ?_Val_, +_Hash_ )
Search the ground term _Key_ in table _Hash_ and unify _Val_ with the associated entry.
*/
@@ -103,7 +105,8 @@ fetch_key(Keys, Index, Size, Key, CmpF, ActualIndex) :-
fetch_key(Keys, I1, Size, Key, CmpF, ActualIndex)
).
/** b_hash_update( +_Key_, +_Hash_, +NewVal )
/**
@pred b_hash_update( +_Key_, +_Hash_, +NewVal )
Update to the value associated with the ground term _Key_ in table _Hash_ to _NewVal_.
*/
@@ -114,7 +117,8 @@ b_hash_update(Hash, Key, NewVal):-
array_element(Vals, ActualIndex, Mutable),
update_mutable(NewVal, Mutable).
/** b_hash_update( +_Key_, -_OldVal_, +_Hash_, +NewVal )
/**
@pred b_hash_update( +_Key_, -_OldVal_, +_Hash_, +NewVal )
Update to the value associated with the ground term _Key_ in table _Hash_ to _NewVal_, and unify _OldVal_ with the current value.
*/
@@ -153,7 +157,8 @@ find_or_insert(Keys, Index, Size, N, CmpF, Vals, Key, NewVal, Hash, NewHash) :-
find_or_insert(Keys, I1, Size, N, CmpF, Vals, Key, NewVal, Hash, NewHash)
).
/** b_hash_insert_new(+_Hash_, +_Key_, _Val_, +_NewHash_ )
/**
@pred b_hash_insert_new(+_Hash_, +_Key_, _Val_, +_NewHash_ )
Insert the term _Key_-_Val_ in table _Hash_ and unify _NewHash_ with the result. If ground term _Key_ exists, fail.
*/
@@ -259,7 +264,8 @@ cmp_f(F, A, B) :-
cmp_f(F, A, B) :-
call(F, A, B).
/** b_hash_to_list(+_Hash_, -_KeyValList_ )
/**
@pred b_hash_to_list(+_Hash_, -_KeyValList_ )
The term _KeyValList_ unifies with a list containing all terms _Key_-_Val_ in the hash table.
*/
@@ -268,7 +274,8 @@ b_hash_to_list(hash(Keys, Vals, _, _, _, _), LKeyVals) :-
Vals =.. (_.LVs),
mklistpairs(LKs, LVs, LKeyVals).
/** b_key_to_list(+_Hash_, -_KeyList_ )
/**
@pred b_key_to_list(+_Hash_, -_KeyList_ )
The term _KeyList_ unifies with a list containing all keys in the hash table.
*/
@@ -276,7 +283,8 @@ b_hash_keys_to_list(hash(Keys, _, _, _, _, _), LKeys) :-
Keys =.. (_.LKs),
mklistels(LKs, LKeys).
/** b_key_to_list(+_Hash_, -_ValList_ )
/**
@pred b_key_to_list(+_Hash_, -_ValList_ )
The term _`valList_ unifies with a list containing all values in the hash table.
*/

View File

@@ -202,7 +202,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/** @defgroup Block_Diagram Block Diagram
@ingroup YAPLibrary
@ingroup library
@{
This library provides a way of visualizing a prolog program using
@@ -232,7 +232,7 @@ parameter(texts((+inf))).
parameter(depth((+inf))).
parameter(default_ext('.yap')).
/** @pred make_diagram(+inputfilename, +ouputfilename)
/** @pred make_diagram(+Inputfilename, +Ouputfilename)
@@ -252,7 +252,7 @@ make_diagram(InputFile, OutputFile):-
write('}'), nl,
told.
/** @pred make_diagram(+inputfilename, +ouputfilename, +predicate, +depth, +extension)
/** @pred make_diagram(+Inputfilename, +Ouputfilename, +Predicate, +Depth, +Extension)
The same as make_diagram/2 but you can define how many of the imported/exporeted predicates will be shown with predicate, and how deep the crawler is allowed to go with depth. The extension is used if the file use module directives do not include a file extension.

View File

@@ -211,7 +211,7 @@
timer_pause/2]).
/** @defgroup CAlarms Concurrent Alarms
@ingroup YAPLibrary
@ingroup library
@{
This library provides a concurrent signals. To use it use:

View File

@@ -33,7 +33,7 @@
]).
/** @defgroup CharsIO Operations on Sequences of Codes.
@ingroup YAPLibrary
@ingroup library
Term to sequence of codes conversion, mostly replaced by engine code.
*/

View File

@@ -9,7 +9,7 @@
]).
%% @defgroup Cleanup Call Cleanup
% @ingroup YAPLibrary
% @ingroup library
% @{
%
% <tt>call_cleanup/1</tt> and <tt>call_cleanup/2</tt> allow predicates to register

View File

@@ -67,7 +67,7 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/**
To make the predicate terminate if any argument is instantiated, add
the (implied) constraint F #\= 0 before the recursive call. Otherwise,
the query fac(N, 0) is the only non-terminating case of this kind.

View File

@@ -31,7 +31,7 @@
:- use_module(library(error)).
/** <module> Co-Logic Programming
@ingroup YAPLibrary
@ingroup library
This simple module implements the directive coinductive/1 as described
in "Co-Logic Programming: Extending Logic Programming with Coinduction"

View File

@@ -1,6 +1,6 @@
/**
@defgroup DBQUeue Non-baacktrackable queues in YAP.
@ingroup YAPLibrary
@ingroup library
@{
A library to implement queues of NB Terms

View File

@@ -1,7 +1,7 @@
/**
@defgroup DBUsage Memory Usage in Prolog Data-Base
@ingroup YAPLibrary
@ingroup library
@{
This library provides a set of utilities for studying memory usage in YAP.

View File

@@ -5,7 +5,7 @@
/** @defgroup DGraphs Directed Graphs
@ingroup YAPLibrary
@ingroup library
@{
The following graph manipulation routines use the red-black tree library

View File

@@ -2,7 +2,7 @@
% SWI emulation.
% written in an on-demand basis.
%% @defgroup SWILibrary Compatibility with SWI-Prolog and Other Prolog systems
%% @defgroup swi Compatibility with SWI-Prolog and Other Prolog systems
/**
@@ -148,21 +148,9 @@ that concatenated give _A12_.
*/
goal_expansion(atom_concat(A,B,C),atomic_concat(A,B,C)).
%goal_expansion(arg(A,_,_),_) :- nonvar(A), !, fail.
/** @pred arg(+ _N_,+ _T_, _A_) is iso
Succeeds if the argument _N_ of the term _T_ unifies with
_A_. The arguments are numbered from 1 to the arity of the term.
The current version will generate an error if _T_ or _N_ are
unbound, if _T_ is not a compound term, of if _N_ is not a positive
integer. Note that previous versions of YAP would fail silently
under these errors.
@}
*/
goal_expansion(arg(A,B,C),genarg(A,B,C)).
% make sure we also use

View File

@@ -16,11 +16,11 @@
*************************************************************************/
/**
*
* @file blobs.c
* @{
* @file blobs.c
*
* @addtogroup swi-c-interface
*
* @{
*/
#include <Yap.h>
@@ -250,7 +250,7 @@ PL_unregister_blob_type(PL_blob_t *type)
{
fprintf(stderr,"PL_unregister_blob_type not implemented yet\n");
return FALSE;
}
xs}
void
Yap_install_blobs(void)

View File

@@ -140,9 +140,10 @@ UserCPredicate(char *a, CPredicate def, unsigned long int arity, Term mod, int f
CurrentModule = cm;
}
//! @{
/** @defgroup swi-ATOMS Atom Construction
* @ingroup swi-c-interface
* @{
* */
@@ -177,11 +178,12 @@ X_API char* PL_atom_nchars(atom_t a, size_t *len) /* SAM check type */
return s;
}
/** @}
//! @}
/** @{
*
* @defgroup swi-term_references Term References
* @ingroup swi-c-interface
* @{
* */
/** @brief duplicate a term reference
@@ -226,14 +228,17 @@ X_API void PL_reset_term_refs(term_t after)
}
/** @}
* @defgroup swi-term_manipulation Term Manipulation
*/
//! @{
/** @defgroup swi-term_manipulation Term Manipulation
* @ingroup swi-c-interface
* */
/**
* @defgroup swi-get-operations Reading Terms
* @ingroup swi-term_manipulation
* @{
* */
/** @brief *name is assigned the name and *arity the arity if term ts, or the operaton fails.
@@ -647,10 +652,11 @@ X_API int PL_get_string(term_t t, char **s, size_t *len)
* @}
* */
//! @{
/**
* @defgroup swi-unify-operations Unifying Terms
* @ingroup swi-term_manipulation
* @{
* */

View File

@@ -9,7 +9,10 @@
*************************************************************************/
/**
@file swi.h
@{
@file swi.h
@defgroup swi-c-interface SWI-Prolog Foreign Language Interface
@ingroup ChYInterface
@@ -30,8 +33,6 @@
* Prolog has all the information necessary to perform its memory management without special precautions
* from the C programmer.
@{
*/
void Yap_swi_install(void);
void Yap_install_blobs(void);

View File

@@ -8,7 +8,7 @@
/** @defgroup Exo_Intervals Exo Intervals
@ingroup YAPLibrary
@ingroup library
@{
This package assumes you use exo-compilation, that is, that you loaded

View File

@@ -18,7 +18,7 @@
/** @defgroup Heaps Heaps
@ingroup YAPLibrary
@ingroup library
@{
A heap is a labelled binary tree where the key of each node is less than

View File

@@ -4,7 +4,7 @@
/** @defgroup LAM LAM
@ingroup YAPLibrary
@ingroup library
@{
This library provides a set of utilities for interfacing with LAM MPI.

View File

@@ -41,7 +41,7 @@ official policies, either expressed or implied, of Ulrich Neumerkel.
op(201,xfx,+\)]).
/** <module> Lambda expressions
@ingroup YAPLibrary
@ingroup library
This library provides lambda expressions to simplify higher order
programming based on call/N.

View File

@@ -20,7 +20,7 @@
]).
/** @defgroup LineUtilities Line Manipulation Utilities
@ingroup YAPLibrary
@ingroup library
@{
This package provides a set of useful predicates to manipulate

View File

@@ -5,7 +5,7 @@
%
/** @defgroup Lists List Manipulation
@ingroup YAPLibrary
@ingroup library
@{
The following list manipulation routines are available once included

View File

@@ -1,6 +1,7 @@
/**
@defgroup YAPControl Meta- and Control Predicates
@defgroup YAPMapList Meta- and Control Predicates
@ingroup library
@{
*/
@@ -22,7 +23,7 @@
* @file maplist.yap
*
* @defgroup maplist Map List and Term Operations
* @ingroup YAPLibrary
* @ingroup library
*
* This library provides a set of utilities for applying a predicate to
* all elements of a list. They allow one to easily perform the most common do-loop constructs in Prolog.

View File

@@ -1,6 +1,6 @@
/** @defgroup MATLAB MATLAB Package Interface
@ingroup YAPLibrary
@ingroup library
@{
The MathWorks MATLAB is a widely used package for array

View File

@@ -16,7 +16,7 @@
*************************************************************************/
/** @defgroup matrix Matrix Library
@ingroup YAPLibrary
@ingroup library
@{
This package provides a fast implementation of multi-dimensional

View File

@@ -16,7 +16,7 @@
*************************************************************************/
/** @defgroup NonhYBacktrackable_Data_Structures Non-Backtrackable Data Structures
@ingroup YAPLibrary
@ingroup library
@{
The following routines implement well-known data-structures using global

View File

@@ -19,7 +19,7 @@
/** @defgroup Ordered_Sets Ordered Sets
@ingroup YAPLibrary
@ingroup library
@{
The following ordered set manipulation routines are available once

View File

@@ -17,7 +17,7 @@
/**
@groupdef PseudoRandom Van Gelder Random Number Generator
@ingroup YAPBuiltins
@ingroup builtins
@{
*/

View File

@@ -7,7 +7,7 @@
% Needs : lib(lists) for append/3.
/** @defgroup Queues Queues
@ingroup YAPLibrary
@ingroup library
@{
The following queue manipulation routines are available once

View File

@@ -23,7 +23,7 @@
% arithmetic.
/** @defgroup Pseudo_Random Random Number Generator
@ingroup YAPLibrary
@ingroup library
@{
The following random number operations are included with the
@@ -55,7 +55,7 @@ integers then _NUMBER_ will also be an integer, otherwise
/** @defgroup Pseudo_Random Pseudo Random Number Integer Generator
@ingroup YAPLibrary
@ingroup library
@{
The following routines produce random non-negative integers in the range

View File

@@ -50,10 +50,13 @@
rb_in/3
]).
/** @defgroup RedhYBlack_Trees Red-Black Trees
@ingroup YAPLibrary
@{
%%! @{
/**
@file rbtrees.yap
@defgroup rbtrees Red-Black Trees
@ingroup library
Red-Black trees are balanced search binary trees. They are named because
nodes can be classified as either red or black. The code we include is
based on "Introduction to Algorithms", second edition, by Cormen,
@@ -109,7 +112,6 @@ rb_new(K,V,t(Nil,black(Nil,K,V,Nil))) :- Nil = black('',_,_,'').
%% rb_empty(?T) is semidet.
%
% Succeeds if T is an empty Red-Black tree.
rb_empty(t(Nil,Nil)) :- Nil = black('',_,_,'').
%% rb_lookup(+Key, -Value, +T) is semidet.
@@ -1036,7 +1038,6 @@ list_to_rbtree(List, T) :-
%
% T is the red-black tree corresponding to the mapping in ordered
% list L.
ord_list_to_rbtree([], t(Nil,Nil)) :- !,
Nil = black('', _, _, '').
ord_list_to_rbtree([K-V], t(Nil,black(Nil,K,V,Nil))) :- !,
@@ -1085,10 +1086,9 @@ size(black(L,_,_,R),Sz0,Szf) :-
%% is_rbtree(?Term) is semidet.
%
% True if Term is a valide Red-Black tree.
% True if Term is a valid Red-Black tree.
%
% @tbd Catch variables.
is_rbtree(X) :-
var(X), !, fail.
is_rbtree(t(Nil,Nil)) :- !.
@@ -1231,26 +1231,11 @@ build_ntree(X1,X,T0,TF) :-
/** @pred is_rbtree(+ _T_)
Check whether _T_ is a valid red-black tree.
*/
/** @pred ord_list_to_rbtree(+ _L_, - _T_)
_T_ is the red-black tree corresponding to the mapping in ordered
list _L_.
*/
/** @pred rb_apply(+ _T_,+ _Key_,+ _G_,- _TN_)
If the value associated with key _Key_ is _Val0_ in _T_, and
If the value associated with key _Key_ is _Val0_ in _T_, and
if `call(G,Val0,ValF)` holds, then _TN_ differs from
_T_ only in that _Key_ is associated with value _ValF_ in
tree _TN_. Fails if it cannot find _Key_ in _T_, or if
@@ -1448,7 +1433,8 @@ with _NewVal_. Fails if it cannot find _Key_ in _T_.
_Pairs_ is an infix visit of tree _T_, where each element of
_Pairs_ is of the form _K_- _Val_.
@}
*/
%%! @}

View File

@@ -16,7 +16,7 @@
*************************************************************************/
/** @defgroup RegExp Regular Expressions
@ingroup YAPLibrary
@ingroup library
@{
This library includes routines to determine whether a regular expression

View File

@@ -2,7 +2,7 @@
<module> SICStus compatible socket library
@ingroup YAPBuiltins
@ingroup builtins
YAP includes a SICStus Prolog compatible socket interface. In YAP-6.3
this uses the `clib` package to emulate the old low level interface that

View File

@@ -16,7 +16,7 @@
*************************************************************************/
/** @defgroup Splay_Trees Splay Trees
@ingroup YAPLibrary
@ingroup library
@{
Splay trees are explained in the paper "Self-adjusting Binary Search

View File

@@ -16,7 +16,7 @@
*************************************************************************/
/** @defgroup System Calling The Operating System from YAP
@ingroup YAPLibrary
@ingroup library
@{
YAP now provides a library of system utilities compatible with the

View File

@@ -15,7 +15,7 @@
* *
*************************************************************************/
/** @defgroup Terms Utilities On Terms
@ingroup YAPLibrary
@ingroup library
@{
The next routines provide a set of commonly used utilities to manipulate

View File

@@ -21,7 +21,7 @@
/** @defgroup Timeout Calls With Timeout
@ingroup YAPLibrary
@ingroup library
@{
The <tt>time_out/3</tt> command relies on the <tt>alarm/3</tt> built-in to

View File

@@ -25,7 +25,7 @@
/** @defgroup Trees Updatable Binary Trees
@ingroup YAPLibrary
@ingroup library
@{
The following queue manipulation routines are available once

View File

@@ -7,7 +7,7 @@
/** @defgroup Tries Trie DataStructure
@ingroup YAPLibrary
@ingroup library
@{
The next routines provide a set of utilities to create and manipulate

View File

@@ -10,7 +10,7 @@
/** @defgroup UGraphs Unweighted Graphs
@ingroup YAPLibrary
@ingroup library
@{
The following graph manipulation routines are based in code originally

View File

@@ -20,7 +20,7 @@
undgraph_min_tree/2]).
/** @defgroup UnDGraphs Undirected Graphs
@ingroup YAPLibrary
@ingroup library
@{
The following graph manipulation routines use the red-black tree graph