Copyright (c) 1980 Regents of the University of California. All rights reserved. The Berkeley software License Agreement specifies the terms and conditions for redistribution. @(#)vgrind.1 5.1 (Berkeley) 04/29/85 VGRIND 1 "3 August 1983"
C 4 NAME
vgrind - grind nice listings of programs
SYNOPSIS
vgrind [
-f ] [
- ] [
-t ] [
-n ] [
-x ] [
-W ] [
-sn ] [
-h header
] [
-d file
] [
-l language ]
name ...
DESCRIPTION
Vgrind formats the program sources which are arguments
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.
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 (1). 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 (1) or
tbl (1).
In regular mode
vgrind accepts input files, processes them, and passes them to
troff (1) for output.
In both modes
vgrind passes any lines beginning with a decimal point without conversion.
The options are:
-f
forces filter mode
-
forces input to be taken from standard input (default if
-f is specified )
-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.
-W
forces output to the (wide) Versatec printer rather than the (narrow)
Varian
-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), CSH
( -lcsh ), SHELL
( -lsh ), RATFOR
( -lr ), and ICON
( -lI ). FILES
index file where source for index is created
/usr/lib/tmac/tmac.vgrind macro package
/usr/lib/vfontedpr preprocessor
/usr/lib/vgrindefs language descriptions
AUTHOR
Dave Presotto & William Joy
SEE ALSO
vlp(1),
vtroff(1),
vgrindefs(5)
BUGS
Vfontedpr assumes that a certain programming 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 in recognizing functions should be used here.