Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vgrind(1) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

vlp(1)

vgrindefs(5)

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

関連事項

vlp(1), vgrindefs(5)

バグ

vfontedpr は以下のプログラミングスタイルを仮定します。

C − 関数名の前には、 スペース、 タブ、 アスタリスクだけの行を 置くことができます。 かっこで囲まれた引数は同じ行です。

PASCAL − 関数名は、 キーワード function または procedure が同じ行に現れます。

MODEL − 関数名は、 キーワード beginproc が、同じ行に現れます。

これらの規則に従わない場合、 インデックス作成および関数名の境界を コメントする機能が誤動作します。 より一般的にいうと、 独断的なプログラムの整形スタイルのほとんどは、 見た目が悪いものです。 ソースコードを一直線に揃えるために スペースを使用すると失敗します。 ユーザが vgrind を使用する予定ならば、 タブを使用してください。 vgrind によって使用されるフォントの幅は自由なので、 これはある程度必然的です。

関数識別のための ctags のメカニズムはここで使用されるべきでした。

−me または −ms マクロを使っているドキュメントの中では、 フィルタモードはうまく動作しません (さて、どのようにしたら利用できるのでしょうか?)。

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026