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>