VGRIND(1) — NEWS-OS Programmer’s Manual
名称
vgrind − プログラムのきれいなリストを作り出す
形式
vgrind [ −f ] [ − ] [ −t ] [ −n ] [ −x ] [ −W ] [ −sn ] [ −h header ] [ −d file ] [ −llanguage ] name ...
解説
vgrind は引数にあるソースプログラムを、 ditroff(1) を使ったきれいな形式に整形します。 コメントはイタリック体で、 キーワードはボールド体で、 その関数の名前が各々のページの欄外に(名前がある時)にリストされます。
vgrind は 2つの基本的なモードで実行されます。 それはフィルタモードとレギュラーモードです。 フィルタモードでは vgrind は tbl(1) に似た方法で、 フィルタとして動作します。 標準入力は、 以下の troff形式 のマクロによって囲まれた行を除いて、 直接標準出力へ送られます。
.vS− 処理開始
.vE− 処理終了 これらの間の行は上に述べたように整形されます。 このフィルタからの出力は、 ditroff に渡して印字することができます。 eqn(1)、 tbl(1) に対する命令は特に必要ありません。
レギュラーモードでは、 vgrind は入力ファイルを受け取り、 それらを処理し、 出力のために ditroff(1) に渡します。
両モードにおいて、 vgrind は小数点(ピリオド)で始まる行は変換せずに通過させます。
オプションには以下のものがあります。
−f強制的にフィルタモードにします。
−標準入力からの入力を 強制します (−f オプションが指定されている時はデフォルトです)。
−t同じオプションを指定した ditroff に似ています。 これにより整形されたテキストは標準出力に送られます。
−nキーワードをボールド体にしません。
−x“プリティ”形式でインデックスファイルを出力します。 インデックスファイル自身は、 vgrind が実行される時にはいつでも、 カレントディレクトリ内の index という名前のファイルに作られます。
−W(幅が狭い) Varian プリンタでなく (幅の広い) Versatec プリンタに出力するように強制します。
−s出力に使うポイントサイズを指定します (.ps の引数と全く同じです)。
−h全ての出力ページに、特別な見出しを指定します (デフォルトはファイル名です)。
−d代わりの言語定義ファイルを指定します (デフォルトは /usr/lib/vgrindefs)。
−l使用する言語を指定します。 現在有効なものは次のとおりです。
PASCAL (−lp)、 MODEL (−lm)、 C (−lc またはデフォルト)、 CSH (−lcsh)、 SHELL (−lsh)、 RATFOR (−lr)、 MODULA2 (−lmod2)、 YACC (−lyacc)、 ISP (−lisp)、 ICON (−lI)。
関連ファイル
indexインデックスのソースのファイル
/usr/lib/tmac/tmac.vgrindマクロパッケージ
/usr/lib/vfontedprプリプロセッサ
/usr/lib/vgrindefs言語についての記述
著者
Dave Presotto & William Joy
関連事項
バグ
vfontedpr は以下のプログラミングスタイルを仮定します。
C − 関数名の前には、 スペース、 タブ、 アスタリスクだけの行を 置くことができます。 かっこで囲まれた引数は同じ行です。
PASCAL − 関数名は、 キーワード function または procedure が同じ行に現れます。
MODEL − 関数名は、 キーワード beginproc が、同じ行に現れます。
これらの規則に従わない場合、 インデックス作成および関数名の境界を コメントする機能が誤動作します。 より一般的にいうと、 独断的なプログラムの整形スタイルのほとんどは、 見た目が悪いものです。 ソースコードを一直線に揃えるために スペースを使用すると失敗します。 ユーザが vgrind を使用する予定ならば、 タブを使用してください。 vgrind によって使用されるフォントの幅は自由なので、 これはある程度必然的です。
関数識別のための ctags のメカニズムはここで使用されるべきでした。
−me または −ms マクロを使っているドキュメントの中では、 フィルタモードはうまく動作しません (さて、どのようにしたら利用できるのでしょうか?)。
NEWS-OSRelease 4.1C