在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 ::= ...
来定义string
和value
。所有的引用都显示出来。
看看页面上的一些示例图。 他们有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。
我也一直在寻找用于生成这些语法图的工具,并且如果可能的话在js library
因此可以编辑和显示,而不用等待graphics的枯燥时间。
我知道那里有工具,但是我会说从bottlecaps.de的发电机有一个很好的graphics与颜色选项。 不幸的是我无法得到它自己的工具的源代码。
我也在这里回答了相关的回答问题,但是只有下面的内容,我们可以把它作为开源的js library
并提供一个在线演示,我们可以尝试和玩 。
- tabatkins中的 铁路图生成器 ,在
js
( 语法也以Python
库的forms存在) - 来自bramp的 js-sequence-diagrams ,在
js
是UML ( Syntax是通过bottlecaps.de生成的) - 来自GoJS的umlClass ,在
js
只有UML
看到这个 ,例如。 不完全是你需要,但仍然。
查看http://code.google.com/p/html-railroad-diagram/ ,它可以生成HTML铁路图。 有一个例子显示了JavaScript中带有链接的HTML页面中生成的JSON铁路。
我似乎记得IBM有一个工具可以将这些图表作为其BookMaster SGML套件的一部分来构build。 铁路图通常用于大型机文档。