2014-02-06 43 views
0

爲了最好地說明我的要求,請考慮具有類和接口的類java語言。Xtext:將不同的根元素與不同的文件擴展名關聯起來

該語言要求所有類都在擴展名爲「.classdef」的文件中,並且所有接口必須位於擴展名爲「.intdef」的文件中。這些文件中的根文法元素將會不同。

在接口文件中,它的根元素爲Interface,其中可能包含AbstractMethodStaticConstant的實例。

爲「.classdef」根語法元素將Class,並可能包含MemberVariableMethodDeclaration情況下,StaticConstant

是否有可能與XTEXT取決於什麼文件擴展名有不同的根元素語法是來自單個語法文件嗎?我不得不把它分成兩個相關的文法。我不希望兩個eclipse插件/捆綁包用於不同的語法。


以上只是一個例子。實際上,我有兩種不同的文件類型......但兩種文件類型之間支持的兩組成員幾乎完全重疊。

理論上,我可以在驗證器中實現它,以防止在其中一個文件中使用省略類型。但是,我還需要將建議從內容助理等中過濾出來。

回答

1

多個dsls /語言與繼承的結合如何?

  • baselang(無編輯的貢獻)
  • classlang延伸baselang
  • interfacelang延伸baselang
+0

我可以做到這一點的單一語法/ UI項目?我可以弄清楚如何用單獨的項目來做到這一點,但我真的寧願避免這種開銷! – jwa

+0

是的,你可以添加多個語言部分的工作流程, ,但我不知道這個工作有多穩定 –

相關問題