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