nowebfilters - filters and parsers for use with noweb
] [ -filter
This man page documents the various filters and parsers that are supplied with
(1). A filter, which transforms the pipeline representation, is
used with the -filter
option. A parser, which reads a source file and
emits the pipeline representation, is used with the -markup
all filters and parsers are available at all installations.
- noweave's -autodefs and -showautodefs options use
these filters, which automatically find defined identifiers. The *
stands for the name of a programming language. (Icon installation
- The btdefn filter uses Dave Hanson's convention to mark
definitions. In code chunks, each defining instances of an identifier
should be preceded by a single backtick character (ASCII 140). The
btdefn filter removes these backticks from the code and converts
them to definitions, thus: `definition. It, not @ %def,
should be used with both notangle(1) and noweave(1), at
least for programs written in C-like languages.
- The disambiguate filter makes it possible to abbreviate chunk names
using a trailing ellipsis (three periods), in the style of WEB and
- docs2comments options
- The docs2comments filter converts documentation chunks to comments
in code chunks. Options include -all, which converts all
documentation chunks into comments; -one converts only one
documentation chunk preceding each code chunk. The -wk
option formats comments k columns wide.
- Other options control the language and style of the comment. Languages
available include -awk, -c, -c++, -f77,
-f90, -icn, -icon, -lisp, -m3,
-ml, -ocamlweb, -pascal, -scm, and
- Norman recommends using notangle(1) with docstocomments
instead of nountangle(1). (Icon installation only.)
- elide patterns
- The elide filter removes from the stream any code chunk matching
any of the arguments. Each argument is a pattern in which ? matches
any single character and * matches any sequence of characters.
- The emptydefn filter makes an empty definition (
<<>>=) an abbreviation for a continuation of the
- l2h [-show-unknowns]
- The l2h filter converts LaTeX to HTML in documentation chunks. If
the -show-unknowns options is given, unrecognized LaTeX control
sequences appear in bold in the output. l2h uses the
LaTeX-generated .toc and .bbl files to help create table of contents and
bibliography. (Icon installation only.)
- pipedocs command
- The pipedocs filter runs each documentation chunk through an
invocation of command, which may be any Unix command. The Noweb
library includes the command h2a, which uses lynx(1) to
convert HTML to ASCII.
- xchunks files
- The xchunks filter pulls in code chunks from an external source.
The files argument lists one or more noweb files, which are used
only for their definitions of code chunks. Empty chunk definitions in the
main document are replaced with the external definitions of the same name.
This filter makes it possible to include the same code chunks in multiple
documents, or even the same code chunks multiple times in the same
document. (Icon installation only.)
A parser converts a source file to the noweb pipeline format, interpreting the
``markup'' in that file. By default, the tools use the standard noweb markup,
but some installations may support nuweb markup as well. Parsers include
- Converts standard noweb(1) markup to pipeline format.
- Converts nuweb(1) markup to noweb pipeline format. It is not part
of the standard installation, but it can be found in noweb's
All filters and parsers are stored in /usr/local/share/noweb
It is possible to tell l2h
about new control sequences by putting special
TeX comments in one's documentation chunks, but there's no documentation. Use
the source, Luke.
loses information, e.g., about the proper treatment of tabs. It
also doesn't compensate for notangle
's newline-removal heuristic, which
means results on nuweb
files may differ subtly from those produced by
Many filters are not available in installations that use Awk instead of Icon.
The Noweb Hacker's Guide
This man page is from noweb
Norman Ramsey, Harvard University. Internet address firstname.lastname@example.org
Noweb home page at http://www.eecs.harvard.edu/~nr/noweb