File: fweb.1

package info (click to toggle)
fweb 1.60beta-11
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 4,348 kB
  • ctags: 5,018
  • sloc: ansic: 38,347; makefile: 393; sh: 163
file content (455 lines) | stat: -rw-r--r-- 9,651 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
.TH FWEB 1 "December 30, 1996"
.UC 4
.SH NAME
ftangle,fweave \- WEB processors for C, C++, Fortran, Ratfor, and TeX
.SH SYNOPSIS
.B ftangle 
-|
.br 
         | src_file[.web] [change_file[.ch]] [[\-option] ...]
.br
.B fweave 
--|
.br
.SH DESCRIPTION
.B FWEB
is an extension of Knuth's
.B WEB
system to handle the languages C, C++, Fortran (both Fortran-77 and Fortran-90),
Ratfor, and TeX.  The philosophy of
.B WEB
and all details about using FWEB may be found in the user manual
.B fweb.tex,
available on-line as the
.B texinfo
(GNU hypertext system) entry
.B info FWEB.
See also

.RS
.B http://w3.pppl.gov/~krommes/fweb_toc.html.
.RE

An \fIinitialization file \fRnamed
.B .fweb
(Unix sytems) or
.B fweb.ini
(personal computers) may be placed in your home directory.  (For Unix
systems, this is the value of
.B $HOME.
The name can be overridden by the environment variable
.B 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 \fIstyle file\fR patterned after the utility
.B makeindex
and named
.B fweb.sty
may be placed in your current directory.  (The directory can be overridden
by the environment variable 
.B 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.

.SM FWEB Options
.PP
.TP 8
.B filename
The first file name identifies the 
.B FWEB
source file.  (If the name does not contain a period, the extension
.B .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
.B .ch
is added automatically.)  For an alternative approach to processing
extensions, see the \-e option.
.TP
.B \-1
Turn on brief debugging mode for
.B FWEAVE.
.TP
.B \-2
Turn on verbose debugging mode for 
.B FWEAVE.
.TP
.B \-@
Display information about control codes.
.TP
.B \-A
Turn on ASCII translations.
.TP
.B \-B
Turn off audible beeps.
.TP
.B \-b
Number
.B do
and
.B if
blocks in woven Fortran and Ratfor output.
.TP
.B \-c
Set the global language to C.
.TP
.B \-c++
Set the global language to C++.
.TP
.B \-D\fI[letters]
Display information about reserved words of the current language (beginning
with \fI[letters]
if present). 
.TP
.B \-d\fI[nnnnn]
Convert unnumbered 
.B do...enddo
constructions to standard Fortran.
.TP
.B \-E\fIc
Change the delimiter of a file-name extension to \fIc.
.TP
.B \-e
Turn on automatic file-name completion, using the style-file parameters
.B ext.web, ext.change, ext.hweb,
and
.B ext.hchange.
.TP
.B \-F
Compare output files with old versions.
.TP
.B \-f
Turn off module references for functions, macro names, etc.
.TP
.B \-H
Scan #include files for typedef and/or class declarations.
.TP
.B \-h
A brief message about where to get help.
.TP
.B \-I\fIdirectory
Append a directory to the list of directories to be searched for include files.
.TP
.B \-i
Read include files named by the 
.B @I
command, but don't print contents.
.TP
.B \-i!
Don't even read include files named by the
.B @I
command.
.TP
.B \-j
Inhibit multiple includes of the same file.
.TP
.B \-k
Recognize lower-case versions of Fortran/Ratfor I/O keywords.
.TP
.B \-L\fIl
Select language \fIl.
.TP
.B -l\fI[mmm[:nnn]]
Echo the input lines between
.I mmm
and
.I nnn.
.TP
.B \-m\fIid[=text]
Define a 
.B WEB
macro.
.TP
.B \-m4
Understand (for formatting purposes) the commands of the 
.B m4
preprocessor.
.TP
.B \-m;
Automatically append pseudo-semicolons to the end of 
.B WEB
macro definitions. \fI(Not recommended.)
.TP
.B \-n
Set the global language to Fortran-77.
.TP
.B \-n9
Set the global language to Fortran-90.
.TP
.B \-n;
For Fortran-77, supply semicolons automatically (default).
.TP
.B \-n:
In Fortran, place statement labels on sseparate lines.
.TP
.B \-nb
Number the
.B do\fR's
and 
.B if\fR's
in Fortran.
.TP
.B \-np
Print semicolons in woven Fortran output.
.TP
.B \-n\e
Use free-form syntax for Fortran-90; continue lines with backslashes.
.TP
.B \-n&
As above, but continue lines with ampersands.
.TP
.B \-n/
In Fortran, make
.B '//'
denote the start of a short comment instead of concatenation.  (Use
.B '\\/'
for concatenation.)
.TP
.B \-n!
In Fortran, make
.B '!'
denote the start of a short comment instead of the logical negation.
.TP
.B \-n)
In Fortran, reverse array indices.
.TP
.B \-o
Turn off 
.B FWEAVE's
mechanisms for overloading operators.
.TP
.B \-P\fIletter
Select the TeX processor, where \fIletter
is either 
.B 'T' 
for 
.B TeX
or 
.B 'L'
for
.B LaTeX.
The default is LaTeX.
.TP
.B \-p\fIstyleentry
Buffer up a style-file entry, to be processed just before the local style
file is read.
.TP
.B \-r 
Set the global language to Ratfor-77.
.TP
.B \-r9
Set the global language to Ratfor-90.
.TP
.B \-rb
Number the
.B do\fR's
and
.B if\fR's
in Ratfor.
.TP
.B \-rk\fI[letters]
Suppress comments about particular Ratfor statement expansions.
.TP
.B \-rK\fI[letters]
Include comments about particular Ratfor statement expansions.
.TP
.B \-r;
For Ratfor, turn on the auto-semi mode and assume the ``obviously
continued'' syntax. \fI(Not recommended.)
.TP
.B \-r/
In Ratfor, make
.B '//'
denote the start of a short comment instead of concatenation.  (Use
.B '\\/'
for concatenation.)
.TP
.B \-r!
In Ratfor, make
.B '!'
denote the start of a short comment instead of the logical negation.
.TP
.B \-r)
In Ratfor, reverse array indices.
.TP
.B \-s
Print statistics about memory usage.
.TP
.B \-sm\fI[nnn]
As above, but also display the dynamic memory allocations as they occur.
.TP
.B \-T
Miscellaneous flag-setting commands for 
.B ftangle
; see texinfo entry.
.TP
.B \-t\fIln[{...}]
Truncate identifiers of language
.I l
to be of length
.I n,
after optionally filtering out the characters listed between the braces.
.TP
.B \-U
Convert reserved output tokens to lower case.
.TP
.B \-u\fIid
Undefine a predefined or command-line macro.
.TP
.B \-v
Make all comments verbatim.
.TP
.B \-W1
Completely cross-reference single-character identifiers.
.TP
.B \-W[ 
Turn on special processing of bracketed array indices.
.TP
.B \-WH
Turn on processing of bracketed array indices.
.TP
.B \-Wd
Don't print @d or @D statements in woven output.
.TP
.B \-Wf
Don't print @f statements in woven output.
.TP
.B \-WF
Don't print @F statemetns in woven output.
.TP
.B \-Wl
Don't print @l statements in woven output.
.TP
.B \-Wm
Don't print @m or @M statements in woven output.
.TP
.B \-Wv
Don't print @v statements in woven output.
.TP
.B \-Ww
Don't print @w or @W statements in woven output.
.TP
.B \-w\fI[file_name]
Print 
.B "\\input file_name"
instead of
.B "\\input fwebmac.tx"
at beginning of
.B tex
output file.  With no argument, print nothing.
.TP
.B \-X\fI[letters]
Print selected cross-reference information; the opposite of
.B '-x'.
.TP
.B \-x\fI[letters]
Reduce or eliminate cross-reference information. The optional letters can
be one of
.B 'c', 'i', 'm', 
or
.B '*',
referring respectively to the table of contents, index, module list, or all
cross-reference information.
.TP
.B \-y\fIa[a][nnnn]
Override default for dynamic memory allocation. If \fInnnn
is omitted, then simpley query the default.  The command 
.B '-y'
with no argument queries everything.
.TP
.B \-Z\fI[letters]
Display default values of style-file parameters (starting with 
.I letters
if present).
.TP
.B \-z\fI[file_name]
Override default style-file name.
.TP
.B \-.
Don't recognize dot constants in Fortran and Ratfor.
.TP
.B \-\e
Explicitly escape continued strings.
.TP
.B \-(
Continue parenthesized strings with backslashes.
.TP
.B \-:\fI[nnnnn]
Set the starting automatic statement number for \Fortran\ and \Ratfor.
.TP
.B \->\fI[l=][name]
Redirect output.
.TP
.B \-=
Same as above.
.TP
.B \-#
Turn off comments about line numbers and modules in woven output.
.TP
.B \-+ 
Don't interpret the compound assignment operators in Fortran and Ratfor.
.TP
.B \-/
In Fortran and Ratfor, make 
.B '//'
denote the start of a short comment instead of concatenation.  (Use
.B '\\/'
for concatenation.)
.TP
.B \-!
In Fortran and Ratfor, make
.B '!'
denote the start of a short comment instead of  logical negation.

.SH MANUAL
Further documentation can be obtained from texinfo, available online
through emacs' info browser (menu item
.B fweb)
or in printed form by saying
.B `texi2dvi manual/fweb.texinfo'.
.PP

.SH FILES
.TP
.B $HOME/.fweb 
\- Optional initialization file (supplied by user).
.TP
.B ./fweb.sty
\- Optional style file (supplied by user).


.SH ENVIRONMENT VARIABLES
.TP
.B FWEB_INCLUDES
\- Colon-delimited list of directories to be searched for include files.
.TP
.B FWEB_INI
\- Name of the initialization file in user's home directory.
.TP
.B FWEB_STYLE_DIR
\- Directory in which the style file resides.

.SH BUGS
Please send bug reports, suggestions, and questions to
.B krommes@princeton.edu.  
FWEB is a spare-time activity, so response may be slow.  However, your
input is very much appreciated.

.PP
.SH AUTHORS
.PP
.B 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  
.B CWEB,
which in turn was based on Donald Knuth's original Pascal 
.B WEB.