The Computer Journal
The Literate-Programming Paradigm
Computer
Prolog: the standard: reference manual
Prolog: the standard: reference manual
Program analysis, debugging, and optimization using the ciao system preprocessor
Proceedings of the 1999 international conference on Logic programming
Herbrand constraint solving in HAL
Proceedings of the 1999 international conference on Logic programming
An Assertion Language for Constraint Logic Programs
Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project)
A New Module System for Prolog
CL '00 Proceedings of the First International Conference on Computational Logic
Program Debugging and Validation Using Semantic Approximations and Partial Specifications
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
A New Module System for Prolog
CL '00 Proceedings of the First International Conference on Computational Logic
Concurrency, Graphs and Models
Theory and Practice of Logic Programming - Prolog Systems
An overview of ciao and its design philosophy
Theory and Practice of Logic Programming - Prolog Systems
Modular extensions for modular (logic) languages
LOPSTR'11 Proceedings of the 21st international conference on Logic-Based Program Synthesis and Transformation
Hi-index | 0.00 |
We describe lpdoc, a tool which generates documentation manuals automatically from one or more logic program source files, written in Ciao, ISO-Prolog, and other (C)LP languages. It is particularly useful for documenting library modules, for which it automatically generates a rich description of the module interface. However, it can also be used quite successfully to document full applications. A fundamental advantage of using lpdoc is that it helps maintaining a true correspondence between the program and its documentation, and also identifying precisely 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 interactively 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 documents and software distributions. The lpdoc manual, all other Ciao system manuals, and parts of this paper are generated by lpdoc.