105

我喜欢json.org铁路图的语法,它是 BNF 语言的图形表示。我还没有找到任何可以产生如此雄辩的结果的工具。

任何人都可以识别用于生成这些图表的工具吗?

4

9 回答 9

101

有一个在线铁路图生成器它根据EBNF中指定的上下文无关语法创建 SVG语法图,也称为铁路图。您可以复制 SVG 代码或截屏。

你必须输入语法,它会制作图表。

例如,要创建您展示的第一个铁路图,您将使用以下代码:

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

在此处输入图像描述

然后您可以继续定义stringvalue使用string ::= ...,并且value ::= ...所有参考都显示出来。

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

于 2011-08-22T05:22:21.217 回答
51

从 Douglas Crockford
到 Aleem B
日期 2009 年 4 月 28 日星期二下午 6:01
主题回复:json.org 上的铁路图

我用 Visio 画了它们。Creative Docs.NET 也运行良好。

--

阿莱姆 B 写道:

你好道格拉斯,

我非常喜欢你在那里发布的大多数东西,json.org 上的铁路图也不例外。我一直在尝试寻找一种工具,它可以生成几乎一样雄辩的图表,但没有运气:

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

您是否使用了一些工具将 BNF 转换为这些图表,或者它们是手工制作的?

——阿莱姆

于 2009-04-28T13:05:57.080 回答
26

Tab Atkins Jr.专门使用创建了一个Javascript 铁路图生成器,因为他找不到具有他想要的视觉吸引力的工具,即“ JSON.org 外观”。

于 2012-09-11T10:03:36.940 回答
9

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

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

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

于 2009-04-28T08:41:06.843 回答
5

我也一直在寻找用于生成这些语法图的工具,如果可能的js library话,可以对其进行编辑和显示,而无需等待无聊的时间来绘制图形。

我知道那里有工具但我会说来自bottlecaps.de的生成器有一个漂亮的图形和颜色选项。不幸的是,我无法在那里获得该工具的源代码。

我还在这里找到了相关的答案问题,但只得到了以下内容,我们可以将其作为开源获取,js library并提供了一个在线演示,我们可以在其中尝试和使用.

于 2015-09-16T07:55:17.270 回答
4

IBM 的铁路轨道生成器可以很好地处理的一件事是默认值。我还没有看到另一个发电机可以做到这一点。

一个例子是

          ┌─────◀────┐┌(──«defaults»─)─┐                        
▶▶─COMMAND┴«argument»┴┼────────────────┼──────────────────────▶◀
                      │ ┌────◀─────┐   │                        
                      └(┴┬«option»┬┴┬─┬┘                        
                         └Help────┘ └)┘                         
于 2014-08-09T17:41:57.703 回答
4

我找到了 J-algo 工具。我认为绘制图表很容易,但我无法导出到图像或其他类型。

在此处输入图像描述

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

于 2015-06-29T14:33:59.093 回答
0

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

于 2010-11-08T05:00:20.827 回答
0

我似乎记得 IBM 有一个工具可以构建此类图表作为其 BookMaster SGML 套件的一部分。铁路图经常用于大型机文档中。

于 2011-06-26T18:37:26.657 回答