image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« ピックアップ:グーグルのサーバ数は日本の年間サーバ出荷台数より多い, 「MacBook」でハードドライブ問題, etc... | トップページ | google.co.jp での "xfy” 検索 100 位の圏外へ »

2007-12-02

swi-prolog から graphviz を利用

prolog で得た実行結果をグラフィカルに示す方法の実験をしてみた。
prolog から graphviz を呼び出して、svg ファイルを生成。
(ぜんぜん prolog らしくないアプローチだけど。
グラフ生成は graphviz という専門プログラムの任せるのが簡単だし).

$ cat link.pl
link(a,b).
link(a,c).
link(b,d).
link(c,d).
link(d,a).

draw:-
    tell('temp.dot'),
    writeln('digraph sample {'),
    forall((link(X,Y), concat_atom([X,Y],' -> ', W)), writeln(W)),
    writeln('}'),
    told.

genSVG :- draw, shell('dot -Tsvg temp.dot -o temp.svg', _Status).


$ swipl
Welcome to SWI-Prolog (Multi-threaded, Version 5.6.47)
Copyright (c) 1990-2007 University of Amsterdam.
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

For help, use ?- help(Topic). or ?- apropos(Word).

?- [link].
% link compiled 0.01 sec, 1,844 bytes

Yes
?- genSVG.

(process:734): Pango-WARNING **: Error loading GDEF table 85

(process:734): Pango-WARNING **: Error loading GSUB table 85

(process:734): Pango-WARNING **: Error loading GPOS table 85

Yes
?-

temp.dot, temp.svg が生成される。
temp.svg を firefox で表示させると、こんなふうになる。

Linkprolog

同じ事を erlang でもやってみつもりだ。(erlang の説明書籍を買ったし)

« ピックアップ:グーグルのサーバ数は日本の年間サーバ出荷台数より多い, 「MacBook」でハードドライブ問題, etc... | トップページ | google.co.jp での "xfy” 検索 100 位の圏外へ »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: swi-prolog から graphviz を利用:

« ピックアップ:グーグルのサーバ数は日本の年間サーバ出荷台数より多い, 「MacBook」でハードドライブ問題, etc... | トップページ | google.co.jp での "xfy” 検索 100 位の圏外へ »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク