Xtext Grammar-Mixin: ссылка на грамматику не может быть решена
Я хочу повторно использовать существующую грамматику Xtext, и я обнаружил, что вы можете сделать это через миксины. Поэтому для начала я создал простой проект Xtext, чтобы посмотреть, работает ли он. Давайте назовем это грамматикой B и грамматикой для повторного использования A. Я добавил зависимость к A в файле манифеста B.
Грамматика Б
grammar org.xtext.example.mydsl.MyDslB with
org.xtext.example.mydsl.MyDslA
generate myDslB "http://www.xtext.org/example/mydsl/MyDslB"
Model:
greetings+=Greeting*
(invariants+=Invariant)*;
Greeting:
'Hello' name=ID '!';
Грамматика А
grammar edu.kit.ipd.sdq.xocl4inv.XOcl4Inv with org.eclipse.xtext.xbase.Xbase
import "http://www.eclipse.org/xtext/xbase/Xbase" as xbase
import "http://www.eclipse.org/emf/2002/Ecore" as ecore
import "http://www.eclipse.org/xtext/common/JavaVMTypes" as types
generate myDslA "http://www.xtext.org/example/mydsl/MyDslA"
*Rules follow here*
"Инвариант" - это правило из грамматики А, которое я хочу использовать повторно. Так что теперь проблема в том, что Xtext не может найти ссылку на грамматику A, хотя она импортируется в рабочую область и добавляется зависимость. Я подумал, что, возможно, URI неправильный, но я ввел его с помощью подсказок (Ctrl+ Пробел) и, щелкая по нему (Ctrl+ щелчок по URI), мне показывают исходный файл грамматики, поэтому я не думаю, что что-то не так с Это.
Может быть, есть шаг, который я пропустил? Заранее спасибо за помощь!