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

Eclipse:作为项目一部分的脚本编译器,eclipse,maven,yacc,lex,Eclipse,Maven,Yacc,Lex,这个问题并不局限于lex和yacc,而是如何将自定义脚本编译器添加到项目中?例如,我在项目中有以下文件: grammar.y grammar.l test.script 二进制“script_编译器”将使用lex、yacc和g++编译的grammar.y和grammar.l生成。然后我想用生成的脚本编译器编译test.script,生成CompiledScript.java。该文件应与项目中的其余java文件一起编译。使用XCode或make可以进行此设置,但单独使用Eclipse也可以吗?如

这个问题并不局限于lex和yacc,而是如何将自定义脚本编译器添加到项目中?例如,我在项目中有以下文件:

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

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

提前感谢您的帮助

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


如果您只想在maven中运行一个外部程序,那么也有maven插件和其他

,这就是您想要的:--然后您可以从IDE或命令行运行maven目标,无论哪种方式,它都应该做正确的事情

要与正常编译集成,请将插件绑定到“generate sources”阶段,并将生成Java文件的位置添加到exec插件的“sourceRoot”选项中。这样,编译器将拾取它们

理想情况下,您可以将代码生成到“target/generated sources/MY_SCRIPT\u NAME”文件夹中。这是Maven世界中生成源的标准位置,例如IntelliJ IDEA将在该位置内拾取源文件。请注意,如果文件直接位于“目标/生成的源”中,则这不起作用


另一个选择是编写自己的Maven插件,这实际上也很容易。参见示例

谢谢你的回答,尼古拉斯。我不熟悉Ant,但会尝试一下。如果是这样的话,帮你自己一个忙,然后s/Ant/maven/