我正在尝试为我正在处理的代码(我没有编写它)生成一个调用树,以帮助我理解它。我希望能够手动输入每个函数及其调用的函数(作为子函数),从而构建树。但我希望它能够自动组织和定位图表,以便在每次添加内容时都不必移动所有内容而没有任何重叠。例如,下面是我想要输入的那种数据的结构,采用蹩脚的 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这样的页面,有太多的选择。在这种情况下,我认为使用其他人的经验会更好,所以我来到了这里。
那么,有人知道任何可以让我更接近目标的工具吗?谢谢!