JVMTypes в Xtext

Я пытаюсь создать DSL в следующем синтаксисе:

alias date java.util.Date;

так что у меня в моей грамматике что-то вроде этого:

import "http://www.eclipse.org/xtext/common/JavaVMTypes" as jvmTypes

Model:
    (types+= Type)*;

Type:
    Alias | Class;

PackageName:
  ID ('.' ID)*;

Alias:
    'alias' name = ID javaType=[jvmTypes::JvmType|PackageName] ';' ;

Это, кажется, не работает.

Я просматриваю статью: http://www.eclipse.org/Xtext/documentation/2_0_0/199a-jvmtypes.php, который делает что-то очень похожее. Не уверен, что мне здесь не хватает.


person Ajay George    schedule 12.09.2011    source источник
comment
Можете пояснить, что работает, а что нет? Не генерирует код, редактор не поддерживает то, что вы хотели, или что-то совсем другое?   -  person Zoltán Ujhelyi    schedule 12.09.2011
comment
Редактор не поддерживает ссылку на Java.   -  person Ajay George    schedule 12.09.2011
comment
Я предлагаю посмотреть либо пример модели домена, либо код Xtend, как они это делают, потому что они уже используют jvmTypes. Мне не нужно более конкретного ответа, но это может быть хорошей отправной точкой.   -  person Zoltán Ujhelyi    schedule 13.09.2011


Ответы (1)


Наконец-то понял.

Добавление этого сработало

registerGenModelFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel"

Примечание:

Официальный учебник упоминал, что это должно быть добавлено.

registerGenModelFile = 
     "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"

Рабочий процесс MWE2 так и не увенчался успехом, жалуясь, что эта модель не может быть обнаружена.

person Ajay George    schedule 19.09.2011
comment
Извините за поздний ответ. Он находится в файле .mwe2. См. eclipse.org/Xtext/documentation/2_0_0/ 199-xtext-and-java.php для более подробной информации - person Ajay George; 18.03.2012