14

这个问题可能有一个令人尴尬的简单答案,但是在 Common Lisp 中是否有正确的方法来格式化/绘制树?我已经尝试了几本书以及谷歌搜索,但问题似乎落在了搜索词的裂缝之间。

提前致谢!

4

4 回答 4

28

你想画什么样的树?

SDRAW将 cons 单元结构绘制到终端。类似:绘制缺点树

如果你有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)。文件格式非常简单,工具可以生成多种格式,包括 PNG、SVG、PostScript 甚至图像地图(用于在网页上创建可点击的图形)。

如果您希望这些图表供您自己使用(例如:调试)或者您在服务器上生成它们,这种方法可能只适用于您。调用客户端应用程序中的单独工具可能存在可用性和/或许可问题。

这并不是一个真正的 common-lisp 特定解决方案,但我过去曾在几种语言中使用过这种方法。

于 2009-05-21T00:23:26.603 回答
1

近年来,我在 GP 应用程序中使用了lisp2dot(一个生成点命令的 Awk 脚本),但目前它似乎不起作用。每次我用有效的 Lisp 表达式输入它时,它都会返回奇怪的 Dot 文件,其中充满了无意义的错误消息。尽管如此,还是值得一提的。

于 2011-10-02T13:04:42.363 回答