2012-12-19 100 views
2

我正在使用Xtext定义一种新的语言。我希望从这种语言生成代码,但是我不想使用自动建议的doGenerate函数。相反,我需要使用一个java代码(不是Xtend),我可以从构建过程中调用它。xtext中的自定义代码生成

当然,在那个java代码中,我希望能够使用传递给原始建议函数的'资源',这样我就可以访问来自DSL代码的所有信息。

+0

您的具体问题? –

+0

如何为我的Xtext DSL设置java生成器。 –

回答

1

我相信,在默认情况下,发电机是实施是一个XTEND文件,但没有任何从这个不断变化的Java文件阻止你,你只需要重写你的[LanguageName] RuntimeModule类的绑定,如下所示: -

public class ExampleRuntimeModule extends com.example.AbstractExampleRuntimeModule { 
    @Override 
    public Class<? extends IGenerator> bindIGenerator() { 
     return YourOwnGenerator.class; 
    } 
} 

WhereOwnGenerator应该实现IGenerator。