The lptools suite provides a complete, programming-language independent, literate programming environment. The suite targets XML documentation, but the underlying system has no bias that would disadvantage other documentation languages.
Also included, and probably worth the price of admission on its own, is a programmable build tool (a make replacement) that can handle very complex and dynamic dependency graphs.
Literate programming is a style of programming, invented by Knuth, which targets human readers first, and the compiler second. In literate code, the documentation is the important thing, and the code organization is subject to it.
The literate programming tools then take on the responsibility of assembling compilable code and cross-referenced documentation from the sources.
The lptools suite provides a complete literate programming environment. The tools are programming language independent. Directives to the system are designed to have minimal effect on readability.
· assembles code fragments from lp source files into compilable code
· provides macro substitution facilities
· can be used to produce an lp source file from the assembled code
· given an lp source, lists the names of all code blocks marked as a root
· given an lp source, lists the names of all blocks it defines
· given an lp source, lists all lp files it references
· given an lp source, generates ctags for lp and (optionally) code symbols
· outputs a complete explanation of the lp system