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>