


VGRIND(1)	    UNIX Programmer's Manual		VGRIND(1)



NAME
     vgrind - grind nice listings of programs

SYNOPSIS
     vgrind [ -f ] [ - ] [ -t ] [ -n ] [ -x ] [ -W ] [ -sn ] [ -h
     header ] [ -d file ] [ -l_l_a_n_g_u_a_g_e ] name ...

DESCRIPTION
     _V_g_r_i_n_d formats the program sources which are arguments in a
     nice style using _t_r_o_f_f(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.

     _V_g_r_i_n_d runs in two basic modes, filter mode or regular mode.
     In filter mode _v_g_r_i_n_d acts as a filter in a manner similar
     to _t_b_l(1).  The standard input is passed directly to the
     standard output except for lines bracketed by the _t_r_o_f_f-_l_i_k_e
     macros:

     .vS  - starts processing

     .vE  - ends processing

     These lines are formatted as described above.  The output
     from this filter can be passed to _t_r_o_f_f for output.  There
     need be no particular ordering with _e_q_n(1) or _t_b_l(1).

     In regular mode _v_g_r_i_n_d accepts input files, processes them,
     and passes them to _t_r_o_f_f(1) for output.

     In both modes _v_g_r_i_n_d 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 _t_r_o_f_f 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 _v_g_r_i_n_d is run
	  with a file called _i_n_d_e_x in the current directory.  The
	  index of function definitions can then be run off by
	  giving _v_g_r_i_n_d the -x option and the file _i_n_d_e_x as argu-
	  ment.




Printed 11/26/99	October 22, 1996			1






VGRIND(1)	    UNIX Programmer's Manual		VGRIND(1)



     -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/share/misc/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), MODULA2 (-lmod2),
	  YACC (-lyacc), ISP (-lisp), and ICON (-lI).

FILES
     index		 file where source for index is created
     /usr/share/tmac/tmac.vgrindmacro package
     /usr/libexec/vfontedprpreprocessor
     /usr/share/misc/vgrindefslanguage descriptions

AUTHOR
     Dave Presotto & William Joy

SEE ALSO
     vlp(1), vtroff(1), vgrindefs(5)

BUGS
     Vfontedpr assumes that a certain programming style is fol-
     lowed:

     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 _f_u_n_c_t_i_o_n or _p_r_o_c_e_d_u_r_e.

     For MODEL - function names need to appear on the same line
     as the keywords _i_s _b_e_g_i_n_p_r_o_c.

     If these conventions are not followed, the indexing and mar-
     ginal 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 _v_g_r_i_n_d your program you
     should use tabs.  This is somewhat inevitable since the font
     used by _v_g_r_i_n_d is variable width.




Printed 11/26/99	October 22, 1996			2






VGRIND(1)	    UNIX Programmer's Manual		VGRIND(1)



     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?)


















































Printed 11/26/99	October 22, 1996			3



