Eclipse:脚本编译器作为项目的一部分

时间:2012-08-12 12:00:50

标签: eclipse maven yacc lex

此问题不仅限于lex和yacc,但如何添加自定义脚本编译器作为项目的一部分?例如,我在项目中有以下文件:

grammar.y
grammar.l
test.script

二进制'script_compiler'将使用由lex,yacc和g ++编译的grammar.y和grammar.l生成。然后我想使用生成的script_compiler编译test.script来生成CompiledScript.java。该文件应与项目中的其余java文件一起编译。使用XCode或make可以进行此设置,但是单独使用Eclipse也可以吗?如果没有,与Maven插件一起怎么样?

(我可能会将脚本编译器设置为一个单独的项目,但如果可以将它们放在同一个项目中以便可以立即应用对语法文件的更改,那就太好了)

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您可以从项目属性对话框中添加自定义“构建器”。这可以是一个ant脚本(带有可选目标)或任何其他脚本或可执行文件。

还有ant和其他scripting languages

的maven插件

答案 1 :(得分:0)

如果你只是想在Maven中运行一个外部程序,这就是你想要的:http://mojo.codehaus.org/exec-maven-plugin/ - 你可以从你的IDE或命令行运行Maven目标,它应该做正确的事情。< / p>

要与普通编译集成,请将插件绑定到&#34; generate-sources&#34;阶段并将生成Java文件的位置添加到&#34; sourceRoot&#34; exec插件的选项。这样编译器就会接收它们。

理想情况下,您可以将代码生成到文件夹&#34; target / generated-sources / MY_SCRIPT_NAME&#34;中。这是Maven世界中生成的源的标准位置,例如IntelliJ IDEA将获取该位置内的源文件。请注意,如果文件直接位于&#34; target / generated-sources&#34;中,则此功能无效。

另一种选择是编写自己的Maven插件,这实际上也很简单。参见例如https://github.com/peterbecker/maven-code-generator