Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CWEB(1)			    General Commands Manual		       CWEB(1)

       ctangle,	cweave - translate CWEB	to C and/or TeX

       ctangle [-bhp] [+s] webfile[.w] [{changefile[.ch]|-} [outfile[.c]]]
       cweave [-befhpx]	[+s] webfile[.w] [{changefile[.ch]|-} [outfile[.tex]]]

       The  ctangle  program  converts a CWEB source document into a C program
       that may	be compiled in the usual way.  The output file includes	 #line
       specifications  so  that	 debugging  can	 be  done in terms of the CWEB
       source file.

       The cweave program converts the same CWEB file into a TeX file that may
       be  formatted  and printed in the usual way.  It	takes appropriate care
       of typographic details like page	layout and  the	 use  of  indentation,
       italics,	boldface, etc.,	and it supplies	extensive cross-index informa-
       tion that it gathers automatically.

       CWEB allows you to prepare a single document containing all the	infor-
       mation  that  is	 needed	 both to produce a compilable C	program	and to
       produce a well-formatted	document describing the	program	in as much de-
       tail  as	 the writer may	desire.	 The user of CWEB ought	to be familiar
       with TeX	as well	as C.

       The command line	should have one, two, or three names on	it.  The first
       is  taken  as the CWEB file (and	.w is added if there is	no extension).
       If that file cannot be opened, the extension  .web  is  tried  instead.
       (But  .w	 is recommended, since .web usually implies Pascal.)  If there
       is a second name, it is a change	file (and .ch is added if there	is  no
       extension).   The  change  file overrides parts of the WEB file,	as de-
       scribed in the documentation.  If there is a third name,	 it  overrides
       the  default  name  of the output file, which is	ordinarily the same as
       the name	of the input file (but on the current directory) with the  ex-
       tension .c or .tex.

       Options	in  the	 command line may be either turned off with - (if they
       are on by default) or turned on with + (if they are  off	 by  default).
       In  fact,  the  options are processed from left to right, so a sequence
       like -f +f corresponds to +f (which is the default).

       The -b option suppresses	the banner line	that normally appears on  your
       terminal	 when  ctangle or cweave begins.  The -h option	suppresses the
       happy message that normally appears if the processing  was  successful.
       The  -p	option suppresses progress reports (starred module numbers) as
       the processing takes place.  If you say -bhp, you get nothing but error

       The  +s option prints statistics	about memory usage at the end of a run
       (assuming that the programs have	been compiled with the -DSTAT switch).

       There are three other options applicable	to cweave only:	 -f  means  do
       not  force a newline after every	statement in the formatted output.  -e
       inhibits	the enclosure of C material formatted by  cweave  in  brackets
       \PB{...}.   Such	 brackets  are normally	inserted so that special hooks
       can be used by cweb-latex and similar programs.	-x means omit the  in-
       dex and table of	contents.

       The  environment	 variable  CWEBINPUTS  is used to search for the input
       files, or the system default if CWEBINPUTS is not set.  See tex(1)  for
       the details of the searching.

       The location of the files mentioned below varies	from system to system.
       Use the kpsewhich utility to find their locations.

	      TeX macros used by cweave	output.

	      The user manual.

       Literate	Programming
	      by D. E. Knuth.

       Weaving a Program
	      by Wayne Sewell.

       The CWEB	System of Structured Documentation
	      by Donald	E. Knuth and Silvio Levy (hardcopy  version  of	 cweb-
	      man.tex and the source code listings).

       tex(1), cc(1).

       Don  Knuth  wrote WEB for TeX and Pascal.  Silvio Levy designed and de-
       veloped CWEB by adapting	the WEB	conventions to C and by	 recoding  ev-
       erything	in CWEB.  Knuth	began using CWEB and made further refinements.
       Many other helpers are acknowledged in the CWEB manual.

Web2C 2015			 7 April 2010			       CWEB(1)


Want to link to this manual page? Use this URL:

home | help