【问题标题】:Tool for generating railroad diagram used on json.org [closed]用于生成 json.org 上使用的铁路图的工具 [关闭]
【发布时间】:2010-10-22 06:16:50
【问题描述】:

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

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

【问题讨论】:

    标签: bnf diagramming


    【解决方案1】:

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

    你必须输入语法,它会生成图表。

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

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

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

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

    【讨论】:

    • 除了 a) 制作屏幕截图 b) 从页面的源代码复制 svg 源代码之外,关于如何将图形放入您自己的文档中的任何想法?
    • @rudolfson - 你可以自己写,中心逻辑还不错,所有代码都可以看到。然后只需嵌入到您的文档中。我基于此编写了一个 WP 插件。 - 最难的部分是让图形看起来不错。
    • 这里提到的在线铁路图生成器现在提供了一个 ZIP 文件,其中包含生成的图的 PNG 版本。很棒的工具!
    • 好像webapp搬到这里了:bottlecaps.de/rr
    • 感谢@enrico.bacis - 更新链接
    【解决方案2】:

    来自道格拉斯·克罗克福德
    前往 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 或者它们是 手工制作?

    -- 阿莱姆

    【讨论】:

    【解决方案3】:

    Tab Atkins Jr. 使用 创建了一个Javascript Railroad-diagram Generator,特别是因为他找不到具有他想要的视觉吸引力,即“JSON.org 外观”。

    【讨论】:

      【解决方案4】:

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

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

      Another answer 建议使用基于 EBNL 语法的图表生成器。

      【讨论】:

      • 补充一点,我链接到的维基百科文章中还有一个工具列表。一个真正的铁路图不应该需要箭头——如果你想象一列火车在这些轨道上行驶,你应该清楚你可以走或不能走的路线。而且 json.org 图表非常漂亮,我必须知道是否有适合它们的工具 =) 已经看过这些链接,但可能对其他人有所帮助。
      【解决方案5】:

      我也一直在寻找用于生成这些Syntax 图表的工具,如果可能的话,在js library 中查找,以便可以编辑和显示它,而无需等待无聊的时间来制作图表。

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

      我也去了这里的相关问题的答案,但只有以下我们可以将其作为开源js library 获取并提供在线演示where we can try and play with

      【讨论】:

        【解决方案6】:

        IBM 的铁轨生成器可以很好地处理其中一件事是默认值。我还没有看到其他生成器可以做到这一点。

        一个例子是

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

        【讨论】:

          【解决方案7】:

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

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

          【讨论】:

            【解决方案8】:

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

            【讨论】:

              【解决方案9】:

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

              【讨论】:

                猜你喜欢
                • 2011-06-26
                • 2011-03-14
                • 2011-06-14
                • 2010-09-12
                • 2011-12-05
                • 1970-01-01
                • 1970-01-01
                • 2011-06-12
                • 1970-01-01
                相关资源
                最近更新 更多