【问题标题】:Using SBT 0.10.0 to generate source code with ANTLR3使用 SBT 0.10.0 生成带有 ANTLR3 的源代码
【发布时间】:2011-06-17 09:23:11
【问题描述】:

如何使用simple build tool (sbt) 0.10.0 来生成任何基于 ANTLR3 语法的源代码?

如果我想在同一个项目或同一个父项目的子项目中使用生成的代码,我想我必须为此使用插件。 SBT 0.10 是否有任何现有的插件? ...或者可能是另一种不使用插件的解决方案?

【问题讨论】:

    标签: code-generation antlr3 sbt


    【解决方案1】:

    您不需要使用插件。

    首先,您需要将 antlr 定义为依赖项。然后你需要根据这个页面定义你的源生成任务:

    https://github.com/harrah/xsbt/wiki/Common-Tasks

    您的任务定义将如下所示:

    sourceGenerators in Compile <+= sourceManaged in Compile map { dir =>
      <code to generate source from grammar files>
    }
    

    生成源代码的位置将创建一个新的org.antlr.Tool 对象,其中您的文件作为构造函数的参数。创建Tool 对象后,调用process 方法,即可生成源代码。

    【讨论】:

    • @steffen 我很好奇它是如何工作的,这是基于 ANTLR 与 Gradle (gradle.org) 一起工作所需要的黑暗拍摄。
    • 这实际上是要走的路。同时我启动了一个插件,使它更易于重用。它在我的 github 页面上可用,并在“官方”sbt 插件列表github.com/harrah/xsbt/wiki/sbt-0.10-plugins-list 中链接。再次感谢您的指点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 2011-12-01
    • 2011-07-01
    • 2014-09-03
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    相关资源
    最近更新 更多