Xtext (файл DSL) в Ecore

У меня есть проект Xtext и несколько примеров файлов DSL. Я могу открыть эти файлы с помощью "Sample Ecore Model Editor" и проверить, соответствует ли он метамодели, сгенерированной Xtext. Однако я не могу создать «Проект EMF» или «Модель генератора EMF» из-за того, что файл DSL не распознается как Ecore.

Мой вопрос: как я могу экспортировать экокор из моего файла example.dsl?

P.S. Я считаю, что это возможно благодаря этому факту


person Pavlos    schedule 17.03.2013    source источник


Ответы (1)


У вас есть два способа получить метамодель ecore для вашего DSL.

  • В стандартном Xtext-Project, сгенерированном мастером, метамодель ecore получается из вашей грамматики. Генератор рабочего процесса сохраняет сгенерированную метамодель в

    [Project]/src-gen/[your-package]/[grammar-name].ecore
    

    Например:

    org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.ecore
    
  • Вы также можете сами написать метамодель ecore и использовать ее в своей грамматике. Это не простой процесс, но он обеспечивает большую гибкость. Для получения дополнительной информации см.: http://blog.efftinge.de/2009/11/xtext-using-existing-ecore-models.html

person Boris Brodski    schedule 17.03.2013
comment
Спасибо за быстрый ответ. Я знаю, что *.ecore генерируется по указанному вами пути. Моя проблема в том, что я хочу преобразовать свой экземпляр модели. См. полезное изображение ниже: imgur.com/mX4QjQW - person Pavlos; 17.03.2013
comment
Вы хотите конвертировать dsl в xmi? - person Boris Brodski; 17.03.2013
comment
Проверьте это сообщение на форуме: eclipse.org/forums/ index.php/mv/msg/292631/801725/#msg_801725 Проверьте всю ветку форума для получения дополнительной информации. - person Boris Brodski; 17.03.2013
comment
Еще раз спасибо. Я попробую предложенное решение. - person Pavlos; 17.03.2013