2012-12-19 128 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。