EN JA
VGRIND(1)
VGRIND(1) FreeBSD General Commands Manual VGRIND(1)

名称

vgrindプログラムのソースを清書する

書式

vgrind [ -][ -W][ -d file][ -f][ -h header][ -llanguage][ -n][ -p postproc][ -s pointsize][ -t][ -x] name ...

解説

vgrind ユーティリティは、コマンドラインの引数として指定されたプログラムソースを troff(1) を使用して良いスタイルに清書します。コメントはイタリック体で、キーワードはボールド体で、現在印刷中の関数名は、各ページの余白部分に列挙されます。

vgrind ユーティリティには 2 つの基本的なモード、フィルタモード ( -f オプションの項を参照) と標準モードがあります。フィルタモードでは、 vgrindtbl(1) と同様に振る舞います。すなわち、以下の troff ライク なマクロに囲まれた部分以外は素通しします。

.vS
処理領域開始
.vE
処理領域終了

マクロに囲まれた行は既に示したように清書されます。これからの出力を troff(1) に渡すことにより印刷することができます。 eqn(1)tbl(1) との呼び出し順序には特別な制限はありません。

通常モードでは、 vgrind は入力ファイル全体を処理し、ポストプロセッサを起動して出力処理を行わせます。ポストプロセッサのデフォルトは psroff(1) です

どちらのモードでも、 vgrind はピリオドで開始する行は変更せずに出力します。

オプションは以下のとおりです。

-
標準入力から読み込みます ( -f オプションが指定された場合はデフォルトです)。
-W
(ナロー) バリアン用ではなく、(ワイド) バーサテックプリンタの出力を行います。
-d file
プログラミング言語定義ファイルを指定します (デフォルトでは /usr/share/misc/vgrindefs を使用します)。
-f
フィルタモードで動作します。
-h header
各ページのヘッダ文字列を指定します (デフォルトは入力ファイル名です)。
-l
入力ファイルのプログラミング言語を指定します。現在使用可能なものは以下のとおりです: PASCAL ( -l p), MODEL ( -l m), C ( -l c もしくはデフォルト), C++ ( -l c++), CSH ( -l csh), SHELL ( -l sh), RATFOR ( -l r), MODULA2 ( -l mod2), YACC ( -l yacc), LISP ( -l isp), ICON ( -l I), PERL ( -l perl)。
-n
キーワードのボールド化を行いません。
-p postproc
postproc を出力のポストプロセッサとして使用します。 psroff(1) がデフォルトです。
-s pointsize
出力文字のポイントサイズを指定します (troff の .ps と同じ引数です)。
-t
troff(1) の同一のオプションと同じく、フォーマット後、標準出力に書き込みます。
-x
インデックスファイルを清書します。 vgrind は、カレントディレクトリに index という名前のファイルがあればつねにインデックスを出力します。関数で定義されたインデックスを -x オプションと引数としてファイル indexvgrind に渡すことによって、清書することができます。

関連ファイル

index
インデックスファイル
/usr/share/tmac/tmac.vgrind
マクロパッケージ
/usr/libexec/vfontedpr
プリプロセッサ
/usr/share/misc/vgrindefs
言語記述ファイル

関連項目

getcap(3), vgrindefs(5)

歴史

vgrind コマンドは 3.0BSD で追加されました。

バグ

vfontedpr プリプロセッサは、以下のプログラミングスタイルを仮定しています:

C 言語-関数名は、空白またはアスタリスクのみからなる行の直後にあり、括弧でくくられた引数リストが同じ行にある。

PASCAL -関数名は、キーワード function または procedure と同じ行にある。

MODEL -関数名は、キーワード is beginproc と同じ行にある。

もし以上に従っていない場合、インデックスと余白への関数名印刷が不正確なものになります。

その他、いくつかのプログラミングスタイルはきれいに清書されません: ブランクによってソースコードの先頭などを揃えた場合、正しくフォーマットされません。 vgrind を使って清書する場合は、タブによってソースコードを揃えるようにします。これは vgrind が可変幅フォントを使用するからです。

ctags(1) が関数を検出する方式を採用すべきです。

フィルタモードは、 -me または -ms マクロを用いたドキュメントで、正しく動作しません。 (このモードは一体どこで使うのでしょう)

August 29, 2006 FreeBSD