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

时间:2009-04-28 08:31:36

标签: bnf diagramming

我喜欢railroad diagramsjson.org的语法,它是BNF语言的图形表示。我没有找到任何可以雄辩地产生结果的工具。

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

alt text

alt text

9 个答案:

答案 0 :(得分:91)

有一个Online Railroad Diagram Generator。它从syntax diagrams中指定的context-free grammars创建SVG EBNF,也称为铁路图。您可以复制SVG代码或拍摄屏幕截图。

你必须输入语法,然后才能制作图表。

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

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

enter image description here

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

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

答案 1 :(得分:49)

  来自道格拉斯克罗克福德的

  到Aleem B
  日期星期二,2009年4月28日下午6:01
  主题Re:json.org上的铁路图

     

我用Visio画了它们。创作的   Docs.NET也运作良好。

     

-

     

Aleem B写道:

     道格拉斯先生,

     

我非常喜欢你放的东西   在那里和铁路图上   json.org也不例外。我已经   试图四处寻找一种工具   几乎会生成图表   雄辩,但没有运气:

     

Tool for generating railroad diagram used on json.org

     

是否有一些用于转换的工具   BNF到这些图表还是他们   手工制作?

     

- Aleem

答案 2 :(得分:18)

Tab Atkins Jr.使用Javascript Railroad-diagram Generator专门创建了 ,因为他找不到具有他想要的视觉吸引力的那个,即“ the JSON .org看“。

答案 3 :(得分:7)

几天前有一个类似的问题: What is a good tool for creating railroad diagrams?

这个问题是关于如何生成SQLite语法图中的铁路图。 accepted answer发现图表是使用Tcl编写的DSL生成的。

Another answer提出了使用图表生成器的建议,该生成器使用EBNL语法。

答案 4 :(得分:4)

IBM的铁路轨道发电机处理得很好的一个是默认值。我没见过另一台发电机。

一个例子是

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

答案 5 :(得分:3)

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

enter image description here

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

答案 6 :(得分:3)

我一直在寻找用于生成这些Syntax图表的工具,如果可能的话,也可以在js library中查看,这样就可以对其进行编辑和显示,而无需等待图形的枯燥时间。

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

我在这里也回答了相关的答案问题,但只有以下内容我们可以将其作为开源js library并提供在线演示,我们可以尝试使用

答案 7 :(得分:0)

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

答案 8 :(得分:0)

我似乎记得IBM有一个工具可以将这些图表构建为BookMaster SGML套件的一部分。铁路图通常用于大型机文档。