什么是创建铁路图的好工具?

时间:2009-04-21 16:03:17

标签: sqlite syntax diagramming

我对sqlite's syntax diagrams印象非常深刻,并且想知道是否有人可以推荐可以让我创建类似图表的软件。

9 个答案:

答案 0 :(得分:29)

看起来他们写了their own script来生成这些,作为TCL中的一个小嵌入式DSL。您可以重新编写脚本。

编辑:是的,它很容易使用,虽然看起来需要稍微调整一下才能使输出更漂亮(出于某种原因,convert无法抗锯齿这在我的系统上; postscript输出看起来不错。)

alt text

hello {                                                                       
  line HELLO {or WORLD {line MY FRIEND {opt ANDREY}} }                      
}

编辑2 :这里有brief article有关其工作原理,以及如果您无法立即查看来源,如何匿名登录以查看来源的一些说明。

答案 1 :(得分:5)

如果您使用EBNF作为语法,那么EBNF Visualizer就是为了这个目的。

您也可以尝试Graphviz。它是开源的,它们存在几个用于处理它的GUI工具。它主要用于通用图,但也可以适用于语法图。

另一个名为SYNGEN的免费工具也存在。

答案 2 :(得分:4)

我不知道任何具体的工具,但我可以告诉你,它们通常被称为Recursive Transition Networks (RTNs)。因此,您可以使用它来扩展搜索范围。

您也可以从SQLite mailing list获得回复,并确切了解他们使用的内容。

答案 3 :(得分:3)

我认为应该可以在Dot language中定义RTN图表,然后使用Dot-enabled tools之一生成。

答案 4 :(得分:3)

答案 5 :(得分:1)

您可以与RFFlow

取得联系

答案 6 :(得分:1)

(抱歉,我没有足够的代表来简单地在答案上添加评论)

accepted answer上:转到第1035行,只需更改“gif”输出的文件扩展名即“png”,这将创建PNG格式的抗锯齿图片。

同样在我的系统上“xv”不可用,只需将其注释掉(第1036行,以下):

if 0 {
  if {$do_xv} {
    exec xv $name.gif &
  }
}

欢呼声

答案 7 :(得分:0)

如果SmartDraw无法做到这一点,我会感到惊讶 - 它的经验限制很少。

答案 8 :(得分:0)

我使用OpenOffice Draw来满足我的许多绘图需求。免费,开源和多平台对我来说是件大事。它在流程图上做得很好,学习曲线很小。

之前我使用过SmartDraw,发现它很有能力,但我需要