在json.org上使用生成铁路图的工具

我喜欢json.org上的语法或铁路图 ,它们是BNF语言的graphics表示。 我还没有find任何可以产生结果的工具。 任何人都可以识别用于生成这些图表的工具吗?

替代文字http://www.json.org/object.gif

替代文字http://www.json.org/number.gif

有一个在线铁路图发电机 。 它从EBNF中指定的上下文无关文法创buildSVG 语法图 ,也称为铁路图。 您可以复制SVG代码或拍摄屏幕截图。

你必须input语法,它会生成图表。

例如,要创build您显示的第一个铁路图,您可以使用以下代码:

object ::= '{' ((string ':' value ) ( ',' string ':' value )*)? '}' 

在这里输入图像说明

然后你可以继续使用string ::= ...value ::= ...来定义stringvalue 。所有的引用都显示出来。

看看页面上的一些示例图。 他们有XML甚至EBNF本身。

来自Douglas Crockford
给Aleem B
date星期二,2009年4月28日下午6:01
主题Re:Railroad Diagrams on json.org

我用Visio画了他们。 Creative Docs.NET也很好。

Aleem B写道:

道格拉斯你好,

我完全享受你放在那里的大部分东西,json.org上的铁路图也没有什么不同。 我一直在试图寻找一个能够生成图表的工具,几乎如同雄辩,但没有运气:

在json.org上使用生成铁路图的工具

有没有一些工具用来将BNF转换成这些图表,还是手工制作的?

– Aleem

为了完成, Tab : Atkins Jr.使用SVG创build了一个Javascript Railroad-diagram Generator 。 具体是因为他找不到一个他想要的视觉吸引力,即“JSON.org的外观”。

前几天有个类似的问题: 创build铁路图的好工具是什么?

这个问题是关于如何生成SQLite语法图中的铁路图。 接受的答案发现,这些图是使用Tcl编写的DSL生成的。

另一个答案提供了一个使用EBNL语法的图表生成器的build议。

IBM的铁路轨道发电机处理好的事情之一就是默认值。 我还没有看到另一个发电机这样做。

一个例子是

  ┌─────◀────┐┌(──«defaults»─)─┐ ▶▶─COMMAND┴«argument»┴┼────────────────┼──────────────────────▶◀ │ ┌────◀─────┐ │ └(┴┬«option»┬┴┬─┬┘ └Help────┘ └)┘ 

我find了J-algo工具。 我认为绘制图很容易,但不能导出为图像或其他types。

在这里输入图像说明

http://j-algo.binaervarianz.de/index.php

我也一直在寻找用于生成这些语法图的工具,并且如果可能的话在js library因此可以编辑和显示,而不用等待graphics的枯燥时间。

我知道那里有工具但是我会说从bottlecaps.de的发电机有一个很好的graphics与颜色选项。 不幸的是我无法得到它自己的工具的源代码。

我也在这里回答了相关的回答问题,但是只有下面的内容,我们可以把它作为开源的js library并提供一个在线演示,我们可以尝试和玩

  • tabatkins中的 铁路图生成器 ,在js语法也以Python库的forms存在)
  • 来自bramp的 js-sequence-diagrams ,在jsUMLSyntax是通过bottlecaps.de生成的)
  • 来自GoJS的umlClass ,在js只有UML

看到这个 ,例如。 不完全是你需要,但仍然。

查看http://code.google.com/p/html-railroad-diagram/ ,它可以生成HTML铁路图。 有一个例子显示了JavaScript中带有链接的HTML页面中生成的JSON铁路。

我似乎记得IBM有一个工具可以将这些图表作为其BookMaster SGML套件的一部分来构build。 铁路图通常用于大型机文档。