FWEB has the ability to work with more than one source language during a single run. The language in effect at the beginning of the first section defines the global language. Further language changes within a section have scope local to that section.
Usually, `language' means a compiler language like FORTRAN or C.
These languages will be "pretty-printed" by FWEAVE.
Pretty-printing can be inhibited by turning on the N mode (globally,
with the command-line option -N
; locally, with @N
) or by
selecting the VERBATIM `language'; in both of these cases, the input
text is echoed literally to the output of both FTANGLE and
FWEAVE.
`Language' is a stronger concept than `mode'. For example, when a
language is selected, the extension of the tangled output file is
changed appropriately--for example, if test.web
contains C code
(that is, contains the command @c
), test.web
tangles into
test.c
(compressing blanks and otherwise (deliberately) making
the tangled output relatively unreadable) and FWEAVE pretty-prints
using the C syntax. Turning on the N mode does not affect the language;
FTANGLE copies the source code literally into test.c
(no
blank compression or other modifications), and FWEAVE typesets the
source code within a verbatim environment (no pretty-printing). When
the VERBATIM language is selected, the N mode is turned on
automatically, but FTANGLE writes its output to a file with a
special default extension that can be customized in the style file.
See Miscellaneous params.