【发布时间】:2010-10-22 06:16:50
【问题描述】:
【问题讨论】:
标签: bnf diagramming
【问题讨论】:
标签: bnf diagramming
有一个Online Railroad Diagram Generator。它从EBNF 中指定的context-free grammars 创建SVG syntax diagrams,也称为铁路图。您可以复制 SVG 代码或截屏。
你必须输入语法,它会生成图表。
例如,要创建您展示的第一个铁路图,您可以使用以下代码:
object ::= '{' ((string ':' value ) ( ',' string ':' value )*)? '}'
然后您可以继续使用string ::= ... 和value ::= ... 定义string 和value 引用都显示出来了。
查看页面上的一些示例图表。他们有 XML 甚至 EBNF 本身。
【讨论】:
来自道格拉斯·克罗克福德
前往 Aleem B
日期 2009 年 4 月 28 日星期二下午 6:01
主题回复:json.org 上的铁路图我用 Visio 画了它们。有创造力的 Docs.NET 也运行良好。
--
Aleem B 写道:
你好道格拉斯,
我非常喜欢你放的大多数东西 外面还有铁路图 json.org 也不例外。我已经 试图四处寻找一种工具 将生成图表几乎 口才好但运气不好:
Tool for generating railroad diagram used on json.org
有没有你用来转换的工具 这些图表的 BNF 或者它们是 手工制作?
-- 阿莱姆
【讨论】:
Tab Atkins Jr. 使用svg 创建了一个Javascript Railroad-diagram Generator,特别是因为他找不到具有他想要的视觉吸引力,即“JSON.org 外观”。
【讨论】:
前几天有一个类似的问题: What is a good tool for creating railroad diagrams?
那个问题是关于 SQLite 语法图中的铁路图是如何生成的。 accepted answer 发现图表是使用 Tcl 编写的 DSL 生成的。
Another answer 建议使用基于 EBNL 语法的图表生成器。
【讨论】:
我也一直在寻找用于生成这些Syntax 图表的工具,如果可能的话,在js library 中查找,以便可以编辑和显示它,而无需等待无聊的时间来制作图表。
我知道out there 有工具,但我想说bottlecaps.de 的生成器有一个漂亮的图形和颜色选项。不幸的是,我无法在那里获得该工具的源代码。
我也去了这里的相关问题的答案,但只有以下我们可以将其作为开源js library 获取并提供在线演示where we can try and play with。
js 中(语法也作为 Python 库存在)js 但 UML(语法 是通过 bottlecaps.de 生成的)js 中,但仅适用于 UML
【讨论】:
IBM 的铁轨生成器可以很好地处理其中一件事是默认值。我还没有看到其他生成器可以做到这一点。
一个例子是
┌─────◀────┐┌(──«defaults»─)─┐
▶▶─COMMAND┴«argument»┴┼────────────────┼──────────────────────▶◀
│ ┌────◀─────┐ │
└(┴┬«option»┬┴┬─┬┘
└Help────┘ └)┘
【讨论】:
我找到了 J-algo 工具。我认为绘制图表很容易,但我无法导出为图像或其他类型。
【讨论】:
看看http://code.google.com/p/html-railroad-diagram/,它会生成 HTML 铁路图。有一个example 显示了由带有链接的 JavaScript 在 HTML 页面中生成的 JSON 铁路。
【讨论】:
我似乎记得 IBM 有一个构建此类图表的工具,作为其 BookMaster SGML 套件的一部分。铁路图经常用于大型机文档中。
【讨论】: