Go to the first, previous, next, last section, table of contents.

Literate programming

What is Literate Programming?

Literate programming is the combination of documentation and source together in a fashion suited for reading by human beings. In general, literate programs combine source and documentation in a single file. Literate programming tools then parse the file to produce either readable documentation or compilable source. The WEB style of literate programming was created by D. E. Knuth during the development of his TeX typesetting software.

Discussion of literate programming is conducted in the newsgroup comp.programming.literate The literate programming FAQ is stored as help/LitProg-FAQ

WEB for C, FORTRAN, and other languages

TeX is written in the programming language WEB; WEB is a tool to implement the concept of ``literate programming''.

CWEB, a WEB for C programs, written by Silvio Levy, is available as web/c_cpp/cweb

Spidery WEB supports many languages including Ada, awk, and C. It was written by Norman Ramsey and, while not in the public domain, is usable free. It is available in web/spiderweb

FWEB is a version for Fortran, Ratfor, and C written by John Krommes. It is available in web/fweb

SchemeWEB is a Unix filter that translates SchemeWEB into LaTeX source or Scheme source. It was written by John Ramsdell and is available in web/schemeweb

APLWEB is a version of WEB for APL and is available in web/apl/aplweb

FunnelWeb is a version of WEB that is language independent. It is available in web/funnelweb

Other language independent versions of WEB are nuweb (which is written in ANSI C), available in web/nuweb, and noweb, available in web/noweb

A WEB for plain TeX macro files, using noweb, has recently been made available in web/tweb

Go to the first, previous, next, last section, table of contents.