A documentation generator for (C)LP systems

15Citations
Citations of this article
6Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We describe lpdoc, a tool which generates documentation manuals automatically from one or more logic program source files, writ- ten in Ciao, ISO-Prolog, and other (C)LP languages. It is particularly useful for documenting library modules, for which it automatically gen- erates a rich description of the module interface. However, it can also be used quite successfully to document full applications. A fundamental ad- vantage of using lpdoc is that it helps maintaining a true correspondence between the program and its documentation, and also identifying pre- cisely to what version of the program a given printed manual corresponds. The quality of the documentation generated can be greatly enhanced by including within the program text assertions (declarations with types, modes, etc. ...) for the predicates in the program, and machine-readable comments.One of the main novelties of lpdoc is that these assertions and comments are written using the Ciao system assertion language, which is also the language of communication between the compiler and the user and between the components of the compiler. This allows a significant synergy among specification, debugging, documentation, optimization, etc. A simple compatibility library allows conventional (C)LP systems to ignore these assertions and comments and treat normally programs documented in this way. The documentation can be generated interac- tively from emacs or from the command line, in many formats including texinfo, dvi, ps, pdf, info, ascii, html/css,Unix nroff/man,Windows help, etc., and can include bibliographic citations and images. lpdoc can also generate "man" pages (Unix man page format), nicely formatted plain ASCII "readme" files, installation scripts useful when the manuals are included in software distributions, brief descriptions in html/css or info formats suitable for inclusion in on-line indices of manuals, and even complete WWW and info sites containing on-line catalogs of doc- uments and software distributions. The lpdoc manual, all other Ciao system manuals, and parts of this paper are generated by lpdoc.

Cite

CITATION STYLE

APA

Hermenegildo, M. (2000). A documentation generator for (C)LP systems. In Lecture Notes in Artificial Intelligence (Subseries of Lecture Notes in Computer Science) (Vol. 1861, pp. 1345–1361). Springer Verlag. https://doi.org/10.1007/3-540-44957-4_90

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free