VGRIND(1) UNIX Programmer's Manual VGRIND(1) NNAAMMEE vgrind - grind nice listings of programs SSYYNNOOPPSSIISS vvggrriinndd [ --ff ] [ -- ] [ --tt ] [ --nn ] [ --xx ] [ --WW ] [ --ssnn ] [ --hh header ] [ --dd file ] [ --ll_l_a_n_g_u_a_g_e ] name ... DDEESSCCRRIIPPTTIIOONN _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: --ff forces filter mode -- forces input to be taken from standard input (default if --ff is specified ) --tt similar to the same option in _t_r_o_f_f causing formatted text to go to the standard output --nn forces no keyword bolding --xx 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 --xx option and the file _i_n_d_e_x as argu- ment. Printed 7/9/88 May 5, 1986 1 VGRIND(1) UNIX Programmer's Manual VGRIND(1) --WW forces output to the (wide) Versatec printer rather than the (narrow) Varian --ss specifies a point size to use on output (exactly the same as the argument of a .ps) --hh specifies a particular header to put on every output page (default is the file name) --dd specifies an alternate language definitions file (default is /usr/lib/vgrindefs) --ll specifies the language to use. Currently known are PASCAL (--llpp), MODEL (--llmm),CC (--llcc or the default), CSH (--llccsshh), SHELL (--llsshh), RATFOR (--llrr), MODULA2 (--llmmoodd22), YACC (--llyyaacccc), ISP (--lliisspp), and ICON (--llII). FFIILLEESS index file where source for index is created /usr/lib/tmac/tmac.vgrindmacro package /usr/lib/vfontedpr preprocessor /usr/lib/vgrindefs language descriptions AAUUTTHHOORR Dave Presotto & William Joy SSEEEE AALLSSOO vlp(1), vtroff(1), vgrindefs(5) BBUUGGSS Vfontedpr assumes that a certain programming style is fol- lowed: For CC - 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 PPAASSCCAALL - 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 MMOODDEELL - 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 7/9/88 May 5, 1986 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 7/9/88 May 5, 1986 3