FWEB

Section: User Commands (1)
Updated: 1993 June 10
Index Return to Main Contents
 

NAME

ftangle,fweave - WEB processors for C, C++, Fortran, Ratfor, and TeX  

SYNOPSIS

ftangle source_file[.web] [change_file[.ch]] [[-option] ...]
fweave source_file[.web] [change_file[.ch]] [[-option] ...]
 

DESCRIPTION

FWEB is an extension of Knuth's WEB system to handle the C, C++, Fortran (both Fortran-77 and Fortran-90), Ratfor, and TeX languages. The philosophy of WEB and all details about using FWEB may be found in the user manual fwebman.tex. (To access this manual, see the section on FILES below.) More extensive on-line help is available as a texinfo entry.

An initialization file named .fweb or fweb.ini may be placed in your home directory. (For Unix systems, this 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 plus sign, it is processed before the command line; if it begins with a minus sign it is processed after the command line; if it begins with neither it is interpreted as a file name and processed after the command line.

A style file 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 user manual for a detailed discussions.

The following list just provides a very brief summary of the command-line options. Please refer to the user manual for more details.

FWEB Options

filename
The first file name identifies the WEB 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.
-a
Turn on ASCII translation.
-b
Number do and if blocks in woven Fortran and Ratfor output.
-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.change, ext.hweb, and ext.hchange.
-f
Turn off module references for functions, macro names, etc.
-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.
-!
Don't even read include files named by the @I command.
-Ll
Select language l.
-l[mmm[:nnn]]
Echo the input lines between mmm and nnn.
-mid[=text]
Define a WEB 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.
-nb
Number the do's and if's in Fortran.
-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.
-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.
-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.
-r;
For Ratfor, turn on the auto-semi mode and assume the ``obviously continued'' syntax. (Not recommended.)
-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/
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.
-s
Print statistics about memory usage.
-sm[nnn]
As above, but also display the dynamic memory allocations as they occur.
-tln[{...}]
Truncate identifiers of language l to be of length n, after optionally filtering out the characters listed between the braces.
-uid
Undefine a predefined or command-line macro.
-v
Make all comments verbatim.
-W[
Turn on special processing of bracketed array indices.
-Wf
Don't print format statements in woven output.
-w[file_name]
Print \input file_name instead of \input fwebmac.tx 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 simpley 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 Fortran and Ratfor.
->[l=][name]
Redirect output.
-=
Same as above.
-#
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 and DEMOS

The complete (and long!) user manual is available as the Plain TeX document fwebman.tex. A relatively concise reference guide, consisting of several appendices from the manual, is available as guide.tex.

 

FILES

Let $FWEB signify the public area on your system in which the FWEB files are kept. Then the FWEB release consists of four subdirectories: $FWEB/boot/ (bootstrap code for individual machines), $FWEB/demos/ (demonstration programs), $FWEB/manual/ (the user manual, and related files and demos), and $FWEB/web (the WEB source code).

$HOME/.fweb
- Optional initialization file (supplied by user).
./fweb.sty
- Optional style file (supplied by user).
$FWEB/manual/fwebman.tex
- User manual.
$FWEB/manual/guide.tex
- Reference guide.
$FWEB/demos/Intro.web
- An introductory and pedagogical report on WEB programming, contributed by Bart Childs, Tom McCurdy, and Clarissa Wilson, Texas A & M.
$FWEB/demos/Newton.web
- A demo contributed by Bart Childs, Tom McCurdy, and Clarissa Wilson,
$FWEB/demos/adj.web
- A scientific Fortran code contributed by Charles Karney, Princeton University.
$FWEB/demos/series.web
- A demo contributed by Bart Childs, Texas A & M.

 

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, suggestions, and questions to krommes@princeton.edu.

 

AUTHORS

FWEB was written by John A. Krommes, Princeton University. It is a substantial revision and update (more than 50% new) of Silvio Levy's CWEB, which in turn was based on Donald Knuth's original Pascal WEB.


 

Index

NAME
SYNOPSIS
DESCRIPTION
MANUAL and DEMOS
FILES
ENVIRONMENT VARIABLES
BUGS
AUTHORS

This document was created by man2html, using the manual pages.
Time: 01:44:38 GMT, February 01, 2023