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


Answers:


94

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

您必须输入语法,然后才能创建图表。

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

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

在此处输入图片说明

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

在页面上查看一些示例图。它们具有XML甚至EBNF本身。


除了a)制作屏幕快照b)从页面源代码复制svg源代码以外,如何将图形导入您自己的文档中,您有任何想法吗?
rudolfson 2012年

1
@rudolfson-您可以编写自己的代码,中心逻辑还不错,所有代码都可以看到。然后将其嵌入您的文档中。我基于此编写了一个WP插件。-最难的部分是使图形看起来更漂亮。
Peter Ajtai 2012年

2
现在,这里提到的在线铁路图生成器提供了一个ZIP文件,其中包含生成图的PNG版本。很棒的工具!
塞巴斯蒂安·格里尼奥利

2
看来,Web应用程序搬到这里:bottlecaps.de/rr
enrico.bacis

感谢@ enrico.bacis-更新的链接
Peter Ajtai

50

从道格拉斯·克罗克福德(Douglas Crockford)
到Aleem B
日期:2009年4月28日,星期二,下午6:01
主题:json.org上的铁路图

我用Visio画了他们。Creative Docs.NET也可以很好地工作。

-

Aleem B写道:

你好道格拉斯,

我完全喜欢您放在那里的大多数东西,而json.org上的铁路图也没什么不同。我一直在尝试寻找一种可以生成图表的工具,但是几乎没有运气:

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

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

-阿莱姆


7
为了完整起见:Tab Atkins Jr.使用SVG 创建了Javascript Railroad-diagram Generator。特别是因为他找不到具有所需视觉吸引力的产品,即“ JSON.org外观”。
Potherca 2012年


8

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

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

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


除此之外,我链接到的Wikipedia文章中还提供了一系列工具。真正的铁路图不需要箭头-如果您想象一列火车在这些轨道上行驶,则应明确您可以选择或不能选择的路线。而且json.org图非常漂亮,我必须知道是否有针对它们的工具=)已经看过这些链接,但可能会对其他人有所帮助。
aleemb

4

IBM的铁轨生成器处理得很好的事情之一就是默认值。我还没有看到另一个生成器执行此操作。

一个例子是

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

4

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

我知道那里有工具但我会说bottlecaps.de的生成器有一个带有颜色选项的漂亮图形。不幸的是,我在那里找不到该工具的源代码。

我还在这里回答了有关答案的相关问题,但只有以下内容,我们可以将其作为开源获取,js library并提供了一个在线演示,可以在其中进行尝试




0

我似乎还记得IBM在BookMaster SGML套件中有一个构建此类图表的工具。大型企业文档中经常使用铁路图。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.