1

理解しやすいように、作業中のコード(作成していません)の呼び出しツリーを生成しようとしています。各関数とそれが呼び出す関数(子として)を手動で入力して、ツリーを構築できるようにしたいと思います。ただし、何かを追加するたびにすべてを移動しなくても、チャートが重ならないように、チャートを自動的に整理して配置したいと思います。たとえば、これが私が入れたい種類のデータの構造を、くだらないLispesque形式で示しています。

( initAll //root node
  ( //root node's children - functions it calls
    ( initDisplay () ) //this child is a leaf
    ( initControlBar
       ( //initControlBar's children - functions it calls
         ( addButtons () )
         ( setUpControlBarEvents () )
       )
    )
    ( alertUserSystemReady () )
  )
)

グラフツール(もちろん、ツリーはグラフのサブセットです)かもしれませんが、グラフツールが自動的に適切なレベルに物事を配置する機能を備えているとは思いません。このデータをツリーとして整理するのが好きなのは、明確なレベルがあることです。これは、何が起こっているのかを視覚化するのに役立ちます。

yEdとLucidChartを試しましたが、どちらも手動でした。ツリーはかなり深くなるので、ツリーデータで自動的に再構築できるものが必要です。Graphvizも試しましたが、動作しませんでした(Windowsを使用していて、インストール後に何をすべきかわかりませんでした)。

グーグルはツリーエディタの面であまり助けていない-それは私にhttp://bioinfo.unice.fr/biodiv/Tree_editors.htmlのようなページを与えてくれている。この場合、他人の経験を生かしたほうがいいと思うので、ここに来ました。

それで、誰かが私を私の目標に近づけるツールを知っていますか?ありがとう!

4

1 に答える 1

3

言語を使用dotしてファイル内のグラフを表現し、graphvizを使用してそれを視覚化します。dotエンジン(graphvizで提供されているものの1つ)は、説明したとおりに階層グラフを描画します。チャートの例を次に示します。


(ソース:graphviz.org

作成する必要のあるファイルの構文は次のようになります(上のグラフで使用されているファイルから取得)。

digraph unix {
    size="6,6";
    node [color=lightblue2, style=filled];
    "5th Edition" -> "6th Edition";
    "5th Edition" -> "PWB 1.0";
    "6th Edition" -> "LSX";
    "6th Edition" -> "1 BSD";
    "6th Edition" -> "Mini Unix";
    "6th Edition" -> "Wollongong";
    ...
}

同じファイルをさまざまなタイプのグラフのさまざまなエンジンに渡すことができますが、dotエンジンはコード構造と依存関係に一般的に使用されるエンジンです。

于 2012-03-01T12:55:10.143 に答える