3

我想定义一种具有不同元素的语言,这些元素应包含在不同类型的文件中(即类似于带有 .cpp 和 .h 文件的 C++)。语法混合是正确的方法吗?如果是这样,我应该如何进行?

4

1 回答 1

0

不同文件类型中的不同元素听起来像是语法混合的用例。基本语法应该定义两种语言共有的语言概念,子语言将从基本语法继承。

理想情况下,创建一个手动编写的 Ecore 元模型并将概念映射到它(即不要使用“生成”)。

从 2.10 开始,Xtext 支持解析器规则片段。这意味着您可以使用“片段”关键字定义规则的某些可重用部分。请参阅https://github.com/eclipse/xtext-core/blob/761ffeac7e62525be5a5473988d7f1d577298b67/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/fragments/FragmentTestLanguage.xtext

于 2016-08-15T11:20:28.223 回答