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
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
- ->[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.