【发布时间】:2011-06-17 09:23:11
【问题描述】:
如何使用simple build tool (sbt) 0.10.0 来生成任何基于 ANTLR3 语法的源代码?
如果我想在同一个项目或同一个父项目的子项目中使用生成的代码,我想我必须为此使用插件。 SBT 0.10 是否有任何现有的插件? ...或者可能是另一种不使用插件的解决方案?
【问题讨论】:
标签: code-generation antlr3 sbt
如何使用simple build tool (sbt) 0.10.0 来生成任何基于 ANTLR3 语法的源代码?
如果我想在同一个项目或同一个父项目的子项目中使用生成的代码,我想我必须为此使用插件。 SBT 0.10 是否有任何现有的插件? ...或者可能是另一种不使用插件的解决方案?
【问题讨论】:
标签: code-generation antlr3 sbt
您不需要使用插件。
首先,您需要将 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 方法,即可生成源代码。
【讨论】: