.TH VGRIND 1 .UC .SH NAME vgrind \- grind nice listings of programs .SH SYNOPSIS .B vgrind [\c .B \-f\c ] [\c .B \-\c ] [\c .B \-t\c ] [\c .B \-n\c ] [\c .B \-x\c ] [\c .B \-W\c ] [\c .B \-sn\c ] [\c .B \-h header\c ] [\c .B \-d \c ] [\c .B \-l\c ] name ... .SH DESCRIPTION .I Vgrind formats the program sources which are arguments in a nice style using .IR 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. .PP .I Vgrind runs in two basic modes, filter mode or regular mode. In filter mode .I vgrind acts as a filter in a manner similar to .IR tbl(1). The standard input is passed directly to the standard output except for lines bracketed by the .I troff-like macros: .IP .vS - starts processing .IP .vE - ends processing .LP These lines are formatted as described above. The output from this filter can be passed to .I troff for output. There need be no particular ordering with .IR eqn(1) or .IR tbl(1). .PP In regular mode .I vgrind accepts input files, processes them, and passes them to .IR troff(1) for output. .PP In both modes .I vgrind passes any lines beginning with a decimal point without conversion. .PP The options are: .IP \fB\-\^f\fP forces filter mode .IP \fB\-\fP forces input to be taken from standard input (default if .B \-f is specified ) .IP \fB\-\^t\fP similar to the same option in .I troff causing formatted text to go to the standard output .IP \fB\-\^n\fP forces no keyword bolding .IP \fB\-\^x\fP processes an index file. To create an index, it is only necessary to create an empty file .I index in the current directory. As you run .I vgrind, the index will automatically be kept up to date. The index of function definitions can then be run off by giving .I vgrind the \-x option and the file .I index as argument. .IP \fB\-\^W\fP forces output to the (wide) Versatec printer rather than the (narrow) Varian .IP \fB\-\^s\fP specifies a point size to use on output (exactly the same as the argument of a .ps) .IP \fB\-\^h\fP specifies a particular header to put on every output page (default is the file name) .IP \fB\-\^d\fP specifies the language definitions file (default is /usr/lib/vgrindefs) .IP \fB\-\^l\fP specifies the language to use. Currently known are PASCAL (\-lp), MODEL (\-lm), C (\-lc or the default), and ISP (\-li). .SH FILES .ta 2.5i index file where source for index is created .br /usr/lib/tmac/tmac.vgrind macro package .br /usr/lib/vfontedpr preprocessor .br /usr/lib/vgrindefs language descriptions .SH AUTHOR Dave Presotto & William Joy .SH SEE ALSO vtroff(1) vgrindefs(5) .SH BUGS The basic format of a procedure must be: .IP .br \.\.\. \.\.\. .LP This works all right in most cases. However, in PASCAL vgrind can't distinguish between a procedure start and a procedure variable. Therefore vgrind requires a slight modification of the procedure and function variable declarations. Putting a comment in the declaration between the keyword and the name (e.g. function {} junk) should be sufficient. Sorry if this looks strange.