NAME
ftangle,fweave - WEB processors for C, C++, Fortran, Ratfor, and TeX
SYNOPSIS
ftangle -|
| [[-option] ...] src_file[.web] [change_file[.ch]]
fweave --|
DESCRIPTION
(This man page is obsolete and is no longer maintained; please see
‘info fweb’ for up-to-date and detailed tree-structured information.)
FWEB is an extension of Knuth’s WEB system to handle the languages C,
C++, Fortran (both Fortran-77 and Fortran-90), Ratfor, and TeX. The
philosophy of WEB and all details about using FWEB may be found in the
user manual fweb.tex, available on-line as the texinfo (GNU hypertext
system) entry ‘info FWEB’. See also
http://w3.pppl.gov/~krommes/fweb_toc.html.
An initialization file named .fweb (Unix sytems) or fweb.ini (personal
computers) may be placed in your home directory. (For Unix systems,
that is the value of $HOME. The name can be overridden by the
environment variable FWEB_INI.) In this file can be placed any option
that is allowed on the command line (one option per line). If the
option begins with a hyphen, it is processed before the command line;
if it begins with an ampersand, it is processed after the command line
(rarely necessary); if it begins with neither, it is interpreted as a
file name and processed after the command line.
A style file patterned after the utility makeindex and named fweb.sty
may be placed in your current directory. (The directory can be
overridden by the environment variable FWEB_STYLE_DIR.) This file is
used to customize the appearance of the index and many other parameters
controlling the operation of the processors. See the documentation for
detailed discussion.
The following list just provides a very brief summary of the command-
line options. Please refer to the texinfo entry for more details.
FWEB Options
filename
The first file name identifies the FWEB source file. (If the
name does not contain a period, the extension .web is added
automatically.) If a second file name is present, it
identifies the change file. (If that name does not contain a
period, the extension .ch is added automatically.) For an
alternative approach to processing extensions, see the -e
option.
-1 Turn on brief debugging mode for FWEAVE.
-2 Turn on verbose debugging mode for FWEAVE.
-@ Display information about control codes.
-A Turn on ASCII translations.
-B Turn off audible beeps.
-b Number do and if blocks in woven Fortran and Ratfor output.
-Cn Set the color mode to n, where n is 0 (no color), 1 (ANSI
color), 2 (bilevel), 3 (trilevel), or 4 (user-defined).
-c Set the global language to C.
-c++ Set the global language to C++.
-D[letters]
Display information about reserved words of the current
language (beginning with [letters] if present).
-d[nnnnn]
Convert unnumbered do...enddo constructions to standard
Fortran.
-Ec Change the delimiter of a file-name extension to c.
-e Turn on automatic file-name completion, using the style-file
parameters ext.web, ext.ch, ext.hweb, and ext.hch.
-F Compare output files with old versions.
-f Turn off module references for functions, macro names, etc.
-H Scan #include files for typedef and/or class declarations.
-h A brief message about where to get help.
-Idirectory
Append a directory to the list of directories to be searched
for include files.
-i Read include files named by the @I command, but don’t print
contents.
-i! Don’t even read include files named by the @I command.
-j Inhibit multiple includes of the same file.
-k Recognize lower-case versions of Fortran/Ratfor I/O keywords
such as BLOCKSIZE.
-Ll Select language l.
-l[mmm[:nnn]]
Echo the input lines between mmm and nnn.
-mid[=text]
Define an FWEB macro.
-m4 Understand (for formatting purposes) the commands of the m4
preprocessor.
-m; Automatically append pseudo-semicolons to the end of WEB macro
definitions. (Not recommended.)
-n Set the global language to Fortran-77.
-n9 Set the global language to Fortran-90.
-n; For Fortran-77, supply semicolons automatically (default).
-n: In Fortran, place statement labels on separate lines.
-nb Number the do’s and if’s in Fortran.
-nC Throw away all commet lines.
-np Print semicolons in woven Fortran output.
-n\ Use free-form syntax for Fortran-90; continue lines with
backslashes.
-n& As above, but continue lines with ampersands.
-n/ In Fortran, make ’//’ denote the start of a short comment
instead of concatenation. (Use ’’ for concatenation.)
-n! In Fortran, make ’!’ denote the start of a short comment
instead of the logical negation.
-n) In Fortran, reverse array indices.
-o Turn off FWEAVE’s mechanisms for overloading operators.
-Pletter
Select the TeX processor, where letter is either ’T’ for TeX or
’L’ for LaTeX. The default is LaTeX. Note well that Plain TeX
is no longer supported!
-pstyleentry
Buffer up a style-file entry, to be processed just before the
local style file is read.
-r Set the global language to Ratfor-77.
-r9 Set the global language to Ratfor-90.
-rb Number the do’s and if’s in Ratfor.
-rk[letters]
Suppress comments about particular Ratfor statement expansions.
-rK[letters]
Include comments about particular Ratfor statement expansions.
-r; For Ratfor, turn on the auto-semi mode and assume the
‘‘obviously continued’’ syntax. (Not recommended.)
-r/ In Ratfor, make ’//’ denote the start of a short comment
instead of concatenation. (Use ’’ for concatenation.)
-r! In Ratfor, make ’!’ denote the start of a short comment
instead of the logical negation.
-r) In Ratfor, reverse array indices.
-s Print statistics about memory usage.
-sm[nnn]
As above, but also display the dynamic memory allocations as
they occur.
-T Miscellaneous flag-setting commands for ftangle; see texinfo
entry.
-tln[{...}]
Truncate identifiers of language l to be of length n, after
optionally filtering out the characters listed between the
braces.
-U Convert reserved output tokens to lower case.
-uid Undefine a predefined or command-line macro.
-v Make all comments verbatim.
-W@flag Set module warning flag [0 for no warnings, or the logical OR
of 1 (never used) and/or 2 (multiple uses)].
-W1 Completely cross-reference single-character identifiers.
-W[ Turn on special processing of bracketed array indices.
-WH Turn on processing of bracketed array indices.
-Wd Don’t print @d or @D statements in woven output.
-Wf Don’t print @f statements in woven output.
-WF Don’t print @F statements in woven output.
-Wl Don’t print @l statements in woven output.
-Wm Don’t print @m or @M statements in woven output.
-Wv Don’t print @v statements in woven output.
-Ww Don’t print @w or @W statements in woven output.
-w[file_name]
Print ‘input file_name’ instead of ‘input fwebmac.sty’ at
beginning of tex output file. With no argument, print nothing.
-X[letters]
Print selected cross-reference information; the opposite of
’-x’.
-x[letters]
Reduce or eliminate cross-reference information. The optional
letters can be one of ’c’, ’i’, ’m’, or ’*’, referring
respectively to the table of contents, index, module list, or
all cross-reference information.
-ya[a][nnnn]
Override default for dynamic memory allocation. If nnnn is
omitted, then simply query the default. The command ’-y’ with
no argument queries everything.
-Z[letters]
Display default values of style-file parameters (starting with
letters if present).
-z[file_name]
Override default style-file name.
-. Don’t recognize dot constants in Fortran and Ratfor.
-\ Explicitly escape continued strings.
-( Continue parenthesized strings with backslashes.
-:[nnnnn]
Set the starting automatic statement number for rtran and .TP
->[l=][name] Redirect output.
-= Same as above (and easier to type).
-# Turn off comments about line numbers and modules in woven
output.
-+ Don’t interpret the compound assignment operators in Fortran
and Ratfor.
-/ In Fortran and Ratfor, make ’//’ denote the start of a short
comment instead of concatenation. (Use ’’ for concatenation.)
-! In Fortran and Ratfor, make ’!’ denote the start of a short
comment instead of logical negation.
MANUAL
Further documentation can be obtained from texinfo, available online
through the info browser, either via emacs or stand-alone (menu item
fweb), by saying ‘ftangle -h’ or in printed form by saying (from the
top-level FWEB installation directory, if it is available) ‘lpr
Manual/fweb.ps’ or ‘texi2dvi Manual/fweb.texinfo’.
FILES
$HOME/.fweb
- Optional initialization file (supplied by user).
./fweb.sty
- Optional style file for configuring the style of an individual
document (supplied by user).
ENVIRONMENT VARIABLES
FWEB_INCLUDES
- Colon-delimited list of directories to be searched for include
files.
FWEB_INI
- Name of the initialization file in user’s home directory.
FWEB_STYLE_DIR
- Directory in which the style file resides.
BUGS
Please send bug reports and suggestions to krommes@princeton.edu. FWEB
is a spare-time activity, so response may be slow and messages may not
be acknowledged individually. However, your input is very useful and
much appreciated.
AUTHORS
FWEB was written by John A. Krommes, Princeton University. It is a
substantial revision and update (more than 50% new) of version 0.5 of
Silvio Levy’s CWEB, which in turn was based on Donald Knuth’s original
Pascal WEB. The latter was designed for documenting and maintaining
TeX.