VGRIND (1B)
NAME
vgrind - (BSD) grind nice listings of programs
CONTENTS
Synopsis
Description
Files
See Also
Notes
SYNOPSIS
/usr/ucb/vgrind
[-2ftnxw]
[-sn]
[-h header]
[-d file]
[-l language]
[-P printer]
[-T device]
[-o list]
name ...
DESCRIPTION
Vgrind formats the program sources which are arguments
in a nice style using
troff(1B).
Comments are placed in italics, keywords in bold face,
and the name of the current function is listed down the margin of each
page as it is encountered.
Vgrind runs in two basic modes, filter mode or regular mode. In filter mode
vgrind acts as a filter in a manner similar to
tbl(1B).
The standard input is passed directly to the standard output except
for lines bracketed by the
troff-like macros:
|
|
.vS
|
- starts processing
|
|
.vE
|
- ends processing
|
|
These lines are formatted as described above. The output from this
filter can be passed to
troff for output. There need be no particular ordering with
eqn(1B)
or
tbl(1B).
|
|
In regular mode
vgrind accepts input files, processes them, and passes them to
troff(1B)
for output.
|
|
In both modes
vgrind passes any lines beginning with a decimal point without conversion.
|
|
The options are:
|
|
-2
|
produce two-column output
|
|
-f
|
forces filter mode
|
|
-t
|
similar to the same option in
troff causing formatted text to go to the standard output
|
|
-n
|
forces no keyword bolding
|
|
-x
|
outputs the index file in a ''pretty'' format.
The index file itself is produced whenever
vgrind is run with a file called
index in the current directory.
The index of function
definitions can then be run off by giving
vgrind the
-x option and the file
index as argument.
|
|
-s
|
specifies a point size to use on output (exactly the same as the argument
of a .ps)
|
|
-h
|
specifies a particular header to put on every output page (default is
the file name)
|
|
-d
|
specifies an alternate language definitions
file (default is /usr/lib/vgrindefs)
|
|
-l
|
specifies the language to use. Currently known are PASCAL
(-lp), MODEL
(-lm), C
(-lc or the default),
C++
(-lc++), CSH
(-lcsh), SHELL
(-lsh), RATFOR
(-lr), MODULA2
(-lmod2), YACC
(-lyacc), ISP
(-lisp), and ICON
(-lI). |
|
-P
|
specifies that output is directed to the named printer.
|
|
-T
|
is passed to
troff and specifies the device to use.
|
|
-o
|
is passed to
troff and specifies selected pages to print.
|
|
-w
|
Sets the size of tabulators to four instead of the default eight.
|
|
FILES
index file where source for index is created
/usr/ucblib/tmac/vgrind macro package
/usr/ucblib/vfontedpr preprocessor
/usr/ucblib/vgrindefs language descriptions
SEE ALSO
troff(1B)
NOTES
Vfontedpr assumes that a certain programming style is followed:
For
C and
C++ - function names can be preceded on a line only by spaces, tabs, or an
asterisk. The parenthesized arguments must also be on the same line.
For
PASCAL - function names need to appear on the same line as the keywords
function or
procedure.
For
MODEL - function names need to appear on the same line as the keywords
is beginproc.
If these conventions are not followed, the indexing and marginal function
name comment mechanisms will fail.
More generally, arbitrary formatting styles for programs mostly look bad.
The use of spaces to align source code fails miserably; if you plan to
vgrind your program you should use tabs. This is somewhat inevitable since the
font used by
vgrind is variable width.
The mechanism of ctags in recognizing functions should be used here.
Filter mode does not work in documents using the -me or -ms macros.
(So what use is it anyway?)
Written by Dave Presotto & William Joy.
| Heirloom Documentation Tools | VGRIND (1B) | 11/6/05 |
Generated by a modified version of manServer 1.07 from heirloom-doctools-080407/vgrind/vgrind.1b using man macros.