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

109

我喜欢铁路图json.org上的语法表示,这是BNF语言的一种图形化表达方式。 我没有找到任何可以产生如此优美结果的工具。

有人能够确认用于生成这些图表的工具吗?

9个回答

103

有一个在线铁路图生成器。它可以从用EBNF表示的无上下文语法中创建语法图,也称为铁路图,并生成SVG格式的代码。可以复制生成的SVG代码或者进行截屏。

你需要输入语法代码,它就可以制作语法图。

例如,要创建您展示的第一张语法图,您将使用以下代码:

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

在此输入图像描述

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

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


除了a)截图和b)从页面源代码中复制SVG源代码之外,你有什么办法将图形放入你自己的文档中? - rudolfson
1
@rudolfson - 你可以自己编写,中心逻辑并不太难,并且所有代码都可以看到。然后只需嵌入您的文档即可。我基于此编写了一个WP插件。- 最难的部分是让图形看起来很好。 - Peter Ajtai
2
这里提到的在线铁路图生成器现在提供一个包含PNG版本的生成图的ZIP文件。非常好用的工具! - Sebastián Grignoli
2
看起来这个Web应用程序已经移动到这里:http://bottlecaps.de/rr/ - enrico.bacis
感谢@enrico.bacis - 已更新链接 - Peter Ajtai

53

发件人:Douglas Crockford
收件人:Aleem B
发送时间:2009年4月28日 下午6:01
主题:关于json.org上的铁路图

我是用Visio绘制的。Creative Docs.NET也可以。

--

Aleem B写道:

你好,Douglas,我非常喜欢你发布的大部分内容,json.org上的铁路图也不例外。我一直在寻找一个工具,能够生成几乎与此类似的图表,但是没有找到:

Tool for generating railroad diagram used on json.org

你是用什么工具把BNF转换成这些图表的,还是手工制作的?

-- Aleem


8
为了完整性:Tab Atkins Jr. 创建了一个使用SVG的Javascript 铁路图生成器,特别是因为他找不到那种视觉上吸引人的,即“JSON.org样式”的铁路图生成器。 - Potherca

29

9

除此之外,我在链接的维基百科文章中也列出了一些工具列表。一个真正的铁路图应该不需要箭头——如果你想象一辆火车在那些轨道上行驶,它应该很清楚地告诉你可以走哪些路线和不能走哪些路线。而且 json.org 的图表非常漂亮,我必须知道是否有用于它们的工具 =)我已经看过这些链接,但可能对其他人有所帮助。 - aleemb
很遗憾,“此问题因为版主的原因已从Stack Overflow中删除。” - raindog308
现在SQLite使用Pikchr,这是SQLite的作者制作的工具。 - dolmen

5
我一直在寻找生成这些语法图的工具,如果可能的话,使用js库进行编辑和显示,而不必等待一个无聊的时间来呈现图形。 我知道有其他工具,但我想说bottlecaps.de的生成器具有漂亮的图形和颜色选项。 不幸的是,我无法在那里获得工具本身的源代码。 我还去了这里的相关问题的答案,但只得到以下内容,我们可以将其作为开源js库提供,并提供在线演示在那里我们可以尝试和玩耍

4
IBM的铁路轨道生成器中处理默认值的能力非常出色。我还没有见过其他生成器有这种能力。
一个例子是:
          ┌─────◀────┐┌(──«defaults»─)─┐                        
▶▶─COMMAND┴«argument»┴┼────────────────┼──────────────────────▶◀
                      │ ┌────◀─────┐   │                        
                      └(┴┬«option»┬┴┬─┬┘                        
                         └Help────┘ └)┘                         

4

0

我记得IBM有一个工具,可以在其BookMaster SGML套件中构建这样的图表。铁路图通常用于大型机文档。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接