B. Childs, J. Sametinger, Analysis of Literate Programs from the Viewpoint of Reuse, Software-Concepts and Tools, Vol. 18/1, pp. 35-46, Jan. 1997.


Donald Knuth created the Web system for literate programming when he wrote the second version of TeX, a book quality formatting system. Levy later created CWeb which is based on Knuth’s Web using the C programming language and supporting development using the C and C++ programming languages. Krommes’ Fweb is based on CWeb and supports several programming languages. We will analyze some parts of these systems from the viewpoint of reuse. Four elements of the TeX system that we will make reuse comparisons of are TeX, MetaFont, DviType, and MetaPost. We will also compare the primary filters (tangle and weave) of CWeb and FWeb. We analyze the code and integral documentation considering similarities of chapters, lines, and words. With this study we want to demonstrate that both code and documentation can and should be reused systematically and that there is a need for methods and tools for doing so. Literate programming and software reuse are by no means in contradiction. However, current literate programming systems do not explicitly support software reuse, even though reuse was common in their development.

PDF