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), мне показывают исходный файл грамматики, поэтому я не думаю, что что-то не так с Это.

Может быть, есть шаг, который я пропустил? Заранее спасибо за помощь!

0 ответов

Другие вопросы по тегам