FWEB(1)

πŸ“¦
version 1.62 Β· 2 versions
, in debian bookworm, ubuntu jammy, ubuntu noble, ubuntu questing

πŸ’– FWEB(1) β€” ftangle, fweave πŸ’–

okay bestie, sit down, hydrate, because we're talking about FWEB β€” the manual page name is FWEB(1) and it lives in the General Commands Manual section, and yes this whole thing is giving "vintage but iconic" energy. 🫢


🌸 NAME

ftangle, fweave β€” WEB processors for C, C++, Fortran, Ratfor, and TeX ✨


πŸ¦‹ SYNOPSIS

ftangle -|
         | [[-option] ...] src_file[.web] [change_file[.ch]]
fweave --|

✨ DESCRIPTION

okay so first thing, and I need you to hear me: this man page is obsolete and is no longer maintained. bestie. please. go look at info fweb for up-to-date and detailed tree-structured information. πŸ’…

FWEB is an extension of Knuth's WEB system, and it handles the languages C, C++, Fortran (both Fortran-77 and Fortran-90), Ratfor, and TeX. The whole philosophy of WEB plus literally every detail about using FWEB lives in the user manual fweb.tex, which is available on-line as the texinfo (GNU hypertext system) entry info FWEB. Also check out

http://w3.pppl.gov/~krommes/fweb_toc.html

An initialization file named .fweb (Unix systems) 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 you can put any option that is allowed on the command line β€” one option per line, bestie, we love a list. Here's the vibe check on ordering:

  • 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. (peace and quiet, we love her πŸ”‡)
  • -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. 🫢 (genuinely, they mean it, bestie β€” go send that email)


πŸ‘‘ 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. iconic lineage honestly. ✨


and that's the whole page, no cap. πŸ’–

4th Berkeley Distribution Β· September 23, 1998 Β· FWEB(1) β€” mwah, periodt. πŸ’…πŸŽ€

πŸ“¦ where this page comes from