[net.text] Cweb

mball@noscvax.UUCP (Michael S. Ball) (08/15/86)

I would like to get data on the "Cweb" system developed by H.
Thimbleby.  Can someone help?

Data on similar systems, particular any which encourage separate
compilation of modules, would also be appreciated.

Thank you.

Michael S. Ball

TauMetric Corporation, 1094 Cudahy Pl., Ste 302, San Diego, CA 92110
(619)275-6381

{arpa,mil}net: mball@nosc
uucp: {ihnp4,akgua,decvax,dcdwest,ucbvax}!sdcsvax!noscvax!mball

jeff@mcnc.UUCP (Jeffrey Copeland) (08/19/86)

In article <612@noscvax.UUCP> mball@noscvax.UUCP (Michael S. Ball) writes:
>I would like to get data on the "Cweb" system developed by H.
>Thimbleby.  Can someone help?

The reference I have is:

  Experiences of literate programming using cweb (a variant of Knuth's WEB)
  Thimbleby, H.
  Dept. of Comput. Sci., York Univ., England
  Comput. J. (GB)   vol.29, no.3    201-11   June 1986

rs@mirror.UUCP (08/22/86)

I just got a license form for Cweb from:
	Jennifer Turner
	Software Distribution Officer
	Department of Comptuer Science
	University of York
	Helsington
	YORK YO1 5DD, England
A source licenses is 150 pounds for academic institutions, 500 for
non-academic.

Here is what the supplied information page says:
	CWEB:  Literate Programming for C Progammers

	Cweb is designed specifically for helping the C
	programmer provide the best possible documentation.

Overview.  Cweb is a system for combing C program code with
high-quality documentation.  A cweb source file combines both C program
text and documentation.  The C parts are unrestricted:  existing
programs can be converted easily and often profitably into cweb form.
The documentation can be written using any nroff or troff facilities,
and make use of preprocessors like eqn, pic and tbl.

Given a cweb specification, the cweb command can extract either a
compilable C program or the same program fully documented, indexed and
cross referenced ready for printing.  One obvious advantage of the
method is that the documentation and code are always closely associated
in the same files and can be extracted efficiently.

Imlementation.  Cweb is written in C (and cweb) and is distributed in
source form with makefiles (About 6000 liens source).  The C used is
``White Book'' [K&R, I assume --r$] plus standard extensions:  void,
bit fields, and enums.  The code uses the standard IO library and Unix
system calls compatible with Version 7, System V and Berkely 4.2 etc.
Cweb uses the standard utility sort(1).  A shell script is included for
installation at sites which do not have make.

...A drafting formatter is supplied and is about 30 times faster than nroff
(it can be parameterised for various printers or colour terminals.)

Here's a list of other features:
	-Handles multiple source files and headers
	-Doesn't change the .c if only the documenation changed
	 (``this can be a boon if you use make.'')
	-Generates proper #line directives.
	-Supports a "dumb" lpr -- no col needed...
	-The license looks pretty reasonable.

----
Rich $alz	{mit-eddie, ihnp4, wjh12, cca, cbosgd, seismo}!mirror!rs
Mirror Systems	2067 Massachusetts Avenue  Cambridge, MA  02140
Telephone:	617-661-0777					"Hi, mom!"