vgrind(1)
NAME
vgrind - grind nice listings of programs
SYNOPSIS
vgrind [-] [-W] [-d file] [-f] [-h header] [-llanguage] [-n]
[-p postproc] [-sn] [-t] [-x] name ...
DESCRIPTION
- The vgrind utility formats the program sources which are ar
- guments in a
nice style using troff(1) 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. - The vgrind utility runs in two basic modes, filter mode (see
- the -f
option) or regular mode. In filter mode vgrind acts as a - filter in a
manner similar to tbl(1). The standard input is passed di - rectly 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(1) for output. There need be no
- particular
ordering with eqn(1) or tbl(1). - In regular mode vgrind accepts input files, processes them,
- and passes
them to the postprocessor for output, psroff(1) by default. - In both modes vgrind passes any lines beginning with a deci
- mal point
without conversion. - The options are:
- - forces input to be taken from standard input
- (default if -f
- is specified)
- -W forces output to the (wide) Versatec printer
- rather than
- the (narrow) Varian
- -d file specifies an alternate language definitions
- file (default
- is /usr/share/misc/vgrindefs)
- -f forces filter mode
- -h header specifies a particular header to put on every
- output page
- (default is the file name)
- -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), MODU - LA2 (-lmod2),
YACC (-lyacc), LISP (-lisp), ICON (-lI), and - PERL (-lperl).
- -n forces no keyword bolding
- -p postproc use postproc to post-process the output,
- psroff(1) by
- default.
- -s specifies a point size to use on output (ex
- actly the same
- as the argument of a .ps)
- -t similar to the same option in troff(1) causing
- formatted
- text to go to the standard output
- -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.
FILES
- index file where source for index is
- created
/usr/share/tmac/tmac.vgrind macro package
/usr/libexec/vfontedpr preprocessor
/usr/share/misc/vgrindefs language descriptions
SEE ALSO
HISTORY
The vgrind command appeared in 3.0BSD.
BUGS
- The vfontedpr preprocessor assumes that a certain program
- ming style is
followed: - For 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(1) 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?) - BSD June 6, 1993