我喜欢json.org上铁路图的语法,它是 BNF 语言的图形表示。我还没有找到任何可以产生如此雄辩的结果的工具。
任何人都可以识别用于生成这些图表的工具吗?
有一个在线铁路图生成器。它根据EBNF中指定的上下文无关语法创建 SVG语法图,也称为铁路图。您可以复制 SVG 代码或截屏。
你必须输入语法,它会制作图表。
例如,要创建您展示的第一个铁路图,您将使用以下代码:
object ::= '{' ((string ':' value ) ( ',' string ':' value )*)? '}'
然后您可以继续定义string
和value
使用string ::= ...
,并且value ::= ...
所有参考都显示出来。
查看页面上的一些示例图表。他们有 XML 甚至 EBNF 本身。
从 Douglas Crockford
到 Aleem B
日期 2009 年 4 月 28 日星期二下午 6:01
主题回复:json.org 上的铁路图我用 Visio 画了它们。Creative Docs.NET 也运行良好。
--
阿莱姆 B 写道:
你好道格拉斯,
我非常喜欢你在那里发布的大多数东西,json.org 上的铁路图也不例外。我一直在尝试寻找一种工具,它可以生成几乎一样雄辩的图表,但没有运气:
您是否使用了一些工具将 BNF 转换为这些图表,或者它们是手工制作的?
——阿莱姆
Tab Atkins Jr.专门使用svg创建了一个Javascript 铁路图生成器,因为他找不到具有他想要的视觉吸引力的工具,即“ JSON.org 外观”。
前几天有一个类似的问题: 制作铁路图的好工具是什么?
那个问题是关于 SQLite 语法图中的铁路图是如何生成的。接受的答案发现这些图表是使用用 Tcl 编写的 DSL 生成的。
另一个答案提供了使用基于 EBNL 语法的图表生成器的建议。
我也一直在寻找用于生成这些语法图的工具,如果可能的js library
话,可以对其进行编辑和显示,而无需等待无聊的时间来绘制图形。
我知道那里有工具,但我会说来自bottlecaps.de的生成器有一个漂亮的图形和颜色选项。不幸的是,我无法在那里获得该工具的源代码。
我还在这里找到了相关的答案问题,但只得到了以下内容,我们可以将其作为开源获取,js library
并提供了一个在线演示,我们可以在其中尝试和使用.
js
(语法也作为Python
库存在)js
但在UML中(语法是通过 bottlecaps.de 生成的)js
仅适用于UMLIBM 的铁路轨道生成器可以很好地处理的一件事是默认值。我还没有看到另一个发电机可以做到这一点。
一个例子是
┌─────◀────┐┌(──«defaults»─)─┐
▶▶─COMMAND┴«argument»┴┼────────────────┼──────────────────────▶◀
│ ┌────◀─────┐ │
└(┴┬«option»┬┴┬─┬┘
└Help────┘ └)┘
我找到了 J-algo 工具。我认为绘制图表很容易,但我无法导出到图像或其他类型。
查看生成 HTML 铁路图的http://code.google.com/p/html-railroad-diagram/ 。有一个示例显示了由带有链接的 JavaScript 在 HTML 页面中生成的 JSON 铁路。
我似乎记得 IBM 有一个工具可以构建此类图表作为其 BookMaster SGML 套件的一部分。铁路图经常用于大型机文档中。