This is version 2.3 of `noweb', a low-tech literate programming tool.
It probably came via anonymous ftp from princeton.edu:pub/noweb/shar.Z.
This version is upward compatible with previous versions of noweb, but
with the following changes:
  works better with LaTeX; see the man page
  a bug in DEC nawk hits noweb; see the man page

`noweb' is built from pieces, which are then assembled in pipelines
using shell scripts.  Some of the pieces are:

  markup	convert noweb file from human syntax to tool syntax
  unmarkup	inverse of markup
  nt		`tangle' the tool form of the noweb file
  noxref	insert cross-reference information for latex

These pieces are pipelined with various awk and sed scripts by the
following Bourne shell scripts

  notangle.sh	script for notangle
  noweave.sh	script for noweave
  nountangle.sh	script for nountangle
  noroots.sh	script for noroots

nt and markup are written in ANSI C, so an ANSI C compiler is
required.  To build noweb:

  1) Right after unbundling the distribution: `make boot'.  This sets
     the timestamps right so noweb can be booted from the distributed
     C code.  On a NeXT fileserver, `touch' resets the time to 1969,
     so you'll have to do something else to make sure that *.c and *.h
     are more recent than *.nw.

  2) To make local versions of nt and markup: `make all'.

  3) Bourne shell implementations differ, with the unfortunate result
     that there is no standard way to print one backslash on standard
     output.  The latest strategy I have tried is to use
     `echo -n \\' by itself for backslashes; this fails on SYSV
     echo which doesn't recognize -n.  You may have to alter
     noweave.sh to get correct TeX goo.

  4) Choose locations for the noweb files, and set the appropriate
     variables in the Makefile:
       BIN	  on $PATH, will hold notangle, noweave, noroots, ...
       LIB	  a place to store markup, unmarkup and nt
       MAN	  notangle man page will go in $MAN/man1
       TEXINPUTS  a place TeX will look for nwmac.tex and nwkernel.tex
     Make sure you have write permission to these places, then `make
     install'.  This should install the various pieces and so on.

Notes: 

  noweave -x has not been thoroughly exercised.

  ieee.* contains a paper that has been submitted to IEEE Software.
  You must `make install' before attempting to format the paper, since
  it uses the noweb document style option.

  The paper documents the representation of noweb files that is used
  by the noweb tools, in case you want to write any tools of your own.
  Simple tools (e.g. count the number of lines of interleaved
  documentation) are trivial.  If you write any tools, or you want
  tools written (e.g. prettyprinters, index generators), let me know.

  If you want to tinker with the appearance of the output, nwmac.tex
  can be changed at will, but nwkernel.tex should not be changed
  unless you know what you're doing (and you change noweave.sh).

  nw.icn and noxref.icn contain Icon programs that do most of the job
  of noweave.sh and noxref.  If you want to adapt noweb to work with a
  text processor other than TeX or latex, they might provide a better
  starting point.  I confess that the whole system should have been
  written in Icon from the beginning, but I'm not going to do it over.
  Icon is available by anonymous ftp from cs.arizona.edu.
  
Send comments or questions to nr@princeton.edu.  

I enjoy hearing from noweb users; if you have enjoyed noweb, why not
send me a local postcard for my collection?  My address is:

  Norman Ramsey
  Department of Computer Science
  Princeton University
  Princeton, New Jersey 08540
               USA

Noweb is copyright 1992 by Norman Ramsey.  All rights reserved.
See file COPYRIGHT for more information.
