---------------------------------------------------------------------

next up previous
Next: pad2ps を使用する利点 Up: pad2ps について Previous: pad2ps の概要

---------------------------------------------------------------------

pad2ps の使用例

ここでは、具体的に pad2ps を使ってPAD図を描く手順を追ってみて、本 ソフトウェアをどのように使えば良いのか、本ソフトウェアでどれほどのことが できるのかを示すことにしよう。

   figure103
図 2: 1 から N までの足し算

pad2ps シリーズはPADをテキストとして書いて、それを自動で図に変換す るものであるから、まずはエディタでPADのソースファイルを作成しなければい けない。 PADのソースはPADEL(PAD Expression Language)の文法に従って書く。 PADELについては本論文では詳しくは触れないが、C言語の文法と良く似た ものであるので、理解するのはそんなに難しくないだろう。 例えば、図 2 のPAD図を描くためには、次のようなファイルを 用意する。 このファイルを foo.pad という名前で保存しておくことにする。

    1 から N までの足し算
    {
        input N
    
        if(N > 1){
            sum = 0
            for(i = 1 , N){
                sum = sum + i
            }
    
            print sum
        }
    }

pad2ps シリーズには、出力形式によって pad2pspad2epspad2tex の3つのコマンドがある。 最も基本的な使い方は、pad2ps を用いて PostScript 形式に変換するこ とだ。その場合、次のように実行する。

% pad2ps foo.pad > foo.ps

pad2eps は Encapsulated PostScript (EPS) 形式に変換する。 これは、長い PADEL のファイルを変換すると、出力される PostScript は複数 のページから構成されることになるが、これを1ページ毎に1つのファイルにする ような、特殊な場合に使用する。

pad2tex で LaTeX形式に変換することもできる gif

% pad2tex foo.pad > foo.tex

これを LaTeXの処理系で処理して見ることもできるが、多くの場合、 図 3 のように、本や論文の中にはめ込むことの方が多いだろう。

   figure148
図 : LaTeXの論文の中にはめ込む例

2,3 にあるように、連接、反復、選択の3つ の基本処理単位から構成されるアルゴリズムを PADEL で記述し、PAD に変換し て見ることができる。 また、構造化プログラミングの観点からは勧められないが、どうしても goto文 を使用しなければならない場合、図 4 のように、円で囲んで、分岐と分岐先のラベルを表現することもできるようになっ ている。 これは PAD 自身の仕様でもある。

   figure169
図 4: goto文とラベルの例

pad2ps は、このように自分で直接 PADEL を記述するような使用法以外に、 他人のプログラムのアルゴリズムを理解するために、C言語のようなプログラム ソースの PAD をも簡単に描かせることができる。 その場合、次のように実行するだけである。

% pad2ps foo.c > foo.ps

前述したとおり、対応しているプログラミング言語は、C, C++, Bourne shell, C shell, Java, AWK の6つである。 C, C++ 以外はまず確実に PAD に変換して図にして見ることができる。 C, C++ についても、ほとんどの場合で問題なく図化することができるが、これ らの言語ではマクロを使用して見かけ上その言語に見えなくなってしまうように することができてしまうため、そのようなプログラムだけはうまく図化すること ができない。 しかし、事実上ほぼ確実に図化して見ることができると言って良い。

以上が、本ソフトウェアの使い方、及びその結果である。 pad2ps は製作開始から2年以上がすぎ、その機能は多岐に渡る。 そのすべてについてここで述べることはできないが、詳しく述べたマニュアルが

http://www.info.waseda.ac.jp/muraoka/members/seiichi/project/pad2ps-j.html

から参照できる。

---------------------------------------------------------------------

吉田 誠一のホームページ に戻る。
Copyright(C) Seiichi Yoshida (comet@aerith.net). All rights reserved.
Sat Mar 15 01:58:22 JST 1997