noweb provides extensibility by using the Unix toolkit philosophy.
The ``noweb,'' ``notangle,'' and ``noweave''
commands are built from
pieces, which are then assembled in pipelines using shell scripts.
The pieces include:
More extensive descriptions can be found in the
Noweb Hacker's Guide.
- convert noweb file from human syntax to tool syntax
- inverse of markup
- convert from tool syntax to TeX/latex markup
- convert from tool syntax to HTML markup
- `tangle' the tool form of the noweb file
- discover roots, then act like nt
- insert indexing and cross-reference information
- finds uses of identifiers
These pieces are combined by the scripts in the shell directory to
provide more than just weaving and tangling:
- analog of nuweb
- analog of TANGLE
- analog of WEAVE
- tangle, but keep interleaved documentation in comments
- print names of all root chunks in a noweb file
- count number of lines of code and documentation.
- extract defined identifiers for noweave -indexfrom
- build an external index for multi-file documents