graphviz

graphviz は AT&T が開発しているツールだ。 任意のグラフを視覚化してくれる。公式サイトは以下のところだ。

graphviz (の dot コマンド) の入力は以下のような dot という言語で、 そこから様々なフォーマットの画像を出力してくれる。

digraph G {
    node [shape = "ellipse"];

    "Syntax Tree" [shape = "box"];
    "Source Program" [shape = "box"];

    "Source Program" -> "Parser";
    "Parser" -> "Syntax Tree" [label = "generate"];
    "Evaluator" -> "Syntax Tree" [label = "evaluate"];
    "Loader" -> "Syntax Tree" [label = "load"];
    "Thread System" -> "Evaluator" [label = "context switch"];
}

digraph の di は direction の di、 つまり有向グラフのことである。 このように書いて

% dot -Tpng digraph.dot > digraph.png

とすると、次のような画像ができる。

なかなかおもしろい。

Copyright (c) 2002 Minero Aoki <aamine@loveruby.net>