XText несколько расширений файлов

Я хотел бы определить язык с различными элементами, которые должны содержаться в разных типах файлов, хотя и связаны (т.е. аналогично C++ с файлами .cpp и .h). Является ли грамматический микс правильным способом сделать это? Если да, то как мне поступить?


person Andrea Sindico    schedule 14.09.2012    source источник
comment
Возможно, эта статья будет полезна   -  person wilddev    schedule 10.10.2012


Ответы (1)


Различные элементы в разных типах файлов звучат как вариант использования Grammar Mixins. Базовая грамматика должна определять языковые концепции, общие для обоих языков, а подъязыки наследуются от базовой грамматики.

В идеале создайте метамодель Ecore, написанную вручную, и сопоставьте с ней концепцию (т. е. не используйте «создать»).

Начиная с версии 2.10, Xtext поддерживает фрагменты правил парсера. Это означает, что вы можете определять определенные многократно используемые части правил с помощью ключевого слова «фрагмент». См. https://github.com/eclipse/xtext-core/blob/761ffeac7e62525be5a5473988d7f1d577298b67/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/fragments/FragmentTestLanguage.xtext.

person kthoms    schedule 15.08.2016