NAME
nowebfilters - filters and parsers for use with noweb
SYNOPSIS
[noweave|notangle|noweb] [-filter filter|-markup parser] ...
DESCRIPTION
This man page documents the various filters and parsers that are
supplied with noweb(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 option. Not all filters and parsers are available at all
installations.
FILTERS
autodefs.*
noweaves -autodefs and -showautodefs options use these filters,
which automatically find defined identifiers. The * stands for
the name of a programming language. (Icon installation only.)
btdefn 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.
disambiguate
The disambiguate filter makes it possible to abbreviate chunk
names using a trailing ellipsis (three periods), in the style of
WEB and nuweb(1).
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 -tex.
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.
emptydefn
The emptydefn filter makes an empty definition (<<>>=) an
abbreviation for a continuation of the previous definition.
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.)
PARSERS
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
markup Converts standard noweb(1) markup to pipeline format.
numarkup
Converts nuweb(1) markup to noweb pipeline format. It is not
part of the standard installation, but it can be found in
noweb’s contrib/norman directory.
FILES
All filters and parsers are stored in /usr/lib/noweb
BUGS
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.
numarkup 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 nuweb.
Many filters are not available in installations that use Awk instead of
Icon.
SEE ALSO
noweave(1), notangle(1), noweb(1)
The Noweb Hackers Guide
VERSION
This man page is from noweb version 2.11b.
AUTHOR
Norman Ramsey, Harvard University. Internet address
nr@eecs.harvard.edu.
Noweb home page at http://www.eecs.harvard.edu/~nr/noweb.
local 3/28/2001 NOWEB(7)