【问题标题】:Parser generator for Delphi?Delphi的解析器生成器?
【发布时间】:2009-08-09 13:49:54
【问题描述】:

谁能推荐一个可以生成win32 Delphi 代码的解析器生成器?我想做的是创建一种简单的领域特定语言。

【问题讨论】:

    标签: delphi dsl parser-generator


    【解决方案1】:

    你的 DSL 有多复杂?

    我为新的 Delphi RIDL 语言创建了一个解析器(在 Delphi 中),以支持我们使用的一些内部 COM 生成工具。

    我的方法是使用 ANTLR 来处理语法规则,直到我有一些东西可以解析我拥有的各种测试文件。然后我手动编写了一个递归下降解析器(基于 ANTLR 生成的 Java)。我还在项目中使用了 Castalia Delphi Parser,所以我的词法分析器就是以此为基础的。

    递归下降解析器实际上非常简单(但很乏味:-))手动编写。

    【讨论】:

    • 这是个好主意。我的 DSL 非常简单。我也喜欢在 ANTLR 中制作原型的想法。
    【解决方案2】:

    Coco/R 的 Delphi 版本还不错:

    http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/

    最著名的是帕特·特里的那个:

    http://www.scifac.ru.ac.za/coco/

    【讨论】:

    • Delphi 的大多数 Coco/R 实现都非常过时。我更新了 DCocoR 以使用 Delphi XE2,来源在这里:code.google.com/p/dcocor
    【解决方案3】:

    【讨论】:

    • 谢谢。虽然是很古老的学校。编写 DSL 已经在推动可接受性的界限。 lex/yacc 只会让人恐慌。遗憾的是,我可能不得不将我的 DSL 作为一种 XML 语言。
    【解决方案4】:

    我根本没有尝试过,我只是在阅读文档时注意到了这些信息,但是 FastScript 在他们的文档中,你可以得到here,说你可以使用他们的解析器来创建你自己的语言您在 XML 文件中指定的。这可能会给你一些你可以使用的东西。

    【讨论】:

      【解决方案5】:

      我找到了Antlr For Delphi 3.1.1。

      SharpPlus Antlr For Delphi Target 3.1.1,提供构建框架的语言工具 识别器、解释器、编译器 用德尔福!

      这是一个商业产品。我不知道它是什么样的。

      【讨论】:

        猜你喜欢
        • 2012-09-13
        • 1970-01-01
        • 1970-01-01
        • 2011-02-27
        • 1970-01-01
        • 2010-09-25
        • 1970-01-01
        • 1970-01-01
        • 2011-03-04
        相关资源
        最近更新 更多