@apl{xsbdoc} is an @em{automatic program documentation generator} for
Tabled (C)LP systems written using XSB.  

@apl{xsbdoc} is an rewriting of the Ciao system's @apl{lpdoc} to
generate a reference manual automatically from one or more XSB source
files.  The target format of the documentation can be Postscript,
HTML, PDF, or nicely formatted ASCII text.  @apl{xsbdoc} can be used
to automatically generates a description of full applications, library
modules, README files, etc.  A fundamental advantage of using
@apl{xsbdoc} to document programs is that it is much easier to
maintain a true correspondence between the program and its
documentation, and to identify precisely to what version of the
program a given printed manual corresponds.  Naturally, the
@apl{xsbdoc} manual generated by @apl{xsbdoc} itself.

The quality of the documentation generated can be greatly enhanced by
including within the program text:

@begin{itemize}

@item @em{assertions} (indicating types, modes, etc. ...) for the
predicates in the program, via the directive @pred{pred/1}; and

@item @em{machine-readable comments} (in the ``literate programming''
style). 

@end{itemize}

The assertions and comments included in the source file need to be
written using the XSB @em{assertion language}, which supports most of
the features of Ciao's assertion language within a simple and
(hopefully) intuitive syntax.

@apl{xsbdoc} is distributed under the @concept{GNU general public
license}.

Unlike @apl{lpdoc}, @apl{xsbdoc} does not use Makefiles, and instead
maintains information about how to generate a document within Prolog
@em{format files}.  As a result, @em{xsbdoc} can in principle be run
in any environment that supports the underlying software, such as
@apl{XSB}, @apl{latex}, @apl{dvips} and so on.  To date, however, it
has been tested only on Linux.




