14

この質問にはおそらく恥ずかしいほど単純な答えがありますが、Common Lispでツリーをフォーマット/描画する正しい方法はありますか?私は数冊の本を試したり、グーグルで調べたりしましたが、問題は検索用語の亀裂の間にあるようです。

前もって感謝します!

4

4 に答える 4

28

どんな木を描きたいですか?

SDRAWは、コンス セル構造を端末に描画します。類似:コンス ツリーを描画します。

McCLIM、 CLIM 、または Lisp マシンを使用している場合は、CLIM 関数CLIM:FORMAT-GRAPH-FROM-ROOTまたは CLIM:FORMAT-GRAPH-FROM-ROOTS を呼び出すことができます。

LispWorks を使用している場合は、グラフ ペインがあります。

植物を描きたい場合は、L-Lispを使用してください。

植物画

于 2009-05-21T08:06:34.947 に答える
5

GraphVizを使用する場合は、 http: //common-lisp.net/project/cl-graphvizを確認してください。

于 2009-05-21T04:08:13.690 に答える
4

より良い解決策が見つからない場合は、.dot ファイルを出力し、それをGraphvizツール (dot など) の 1 つにフィードすることをお勧めします。ファイル形式は非常にシンプルで、ツールは PNG、SVG、PostScript、さらにはイメージ マップ (Web ページでクリック可能なグラフを作成するため) など、さまざまな形式を生成できます。

このアプローチは、これらのグラフを自分で使用する場合 (例: デバッグ)、またはサーバー上でグラフを生成する場合にのみ有効です。クライアント アプリで別のツールを呼び出すと、使いやすさやライセンスの問題が発生する可能性があります。

これは実際には common-lisp 固有のソリューションではありませんが、私は過去にいくつかの言語でこのアプローチを使用しました。

于 2009-05-21T00:23:26.603 に答える
1

私は最近 GP アプリケーションで lisp2dot (Dot コマンドを生成するAwkスクリプト) を使用しましたが、現在は機能していないようです。有効な Lisp 式をフィードするたびに、意味のないエラー メッセージがいっぱい入った奇妙な Dot ファイルが返されます。それにもかかわらず、言及する価値があります。

于 2011-10-02T13:04:42.363 に答える