Xtext:将不同的根元素与不同的文件扩展名相关联

时间:2014-02-06 22:25:31

标签: xtext

为了最好地说明我的要求,请考虑具有类和接口的类似Java的语言。

此语言要求所有类都在扩展名为“.classdef”的文件中,并且所有接口必须位于扩展名为“.intdef”的文件中。这些文件中的根语法元素会有所不同。

在接口文件中,它的根元素为Interface,可以包含AbstractMethodStaticConstant的实例。

“.classdef”的根语法元素为Class,可能包含MethodDeclarationMemberVariableStaticConstant等实例。

根据单个语法文件,xtext是否可以根据文件扩展名具有不同的根语法元素?我必须把它分成两个相关的语法是没有意义的。我不想为不同的语法使用两个eclipse插件/包。


以上只是一个例子。实际上,我有两种不同的文件类型......但两种文件类型之间支持的两组成员几乎完全重叠。

理论上,我可以在验证器中实现它,以防止您在其中一个文件中使用省略的类型。但是,我还需要过滤内容助手等建议。

1 个答案:

答案 0 :(得分:1)

如何将多个dsls / languages与继承结合使用,例如

  • baselang(没有编辑贡献)
  • classlang扩展了baselang
  • interfacelang扩展baselang