2013-06-29 6 views
2

У меня довольно глупый вопрос. Я использую xtext для определения простого dsl и Xpand для генерации кода.Как использовать xtext и xpand togheter

Теперь я хочу использовать xpand для чтения моих моделей dsl и генерации кода. Как я могу это сделать?

Я прочитал много учебников, в которых говорится, что я могу просто сделать это, создав новый проект xtext от мастера. Затем, в частности, будет создан следующий проект:

org.xtext.example.domainmodel. генератор.

А внутри, генератор выглядит следующим образом:

  • ЦСИ
    • модель (место модель DSL)
    • шаблонов (поместите шаблон для генератора кода)
    • рабочих (рабочий файл)

Затем я просто запускаю рабочий процесс и генерирую код из файла dsl. Это легко и просто.

Моя проблема в том, что когда я создаю новый проект xtext, я не получаю org.xtext.example.domainmodel. генератор. проект. У меня есть только следующие четыре:

org.xtext.example.domainmodel

org.xtext.example.domainmodel.sdk

org.xtext.example.domainmodel.tests

орг. xtext.example.domainmodel.ui

Так как я могу создать org.xtext.example.domainmodel. генератор файл ???

ответ

0

Какие учебники вы имели в виду? (ссылки пожалуйста) И делают они действительно говорить про генератор проект? Говоря о пакете org.xtext.example.domainmodel.generatorвнутриorg.xtext.example.domainmodel проект - обычная вещь.

+0

я в основном означает, официальный Eclipse, учебник: HTTP://help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.xtext.doc%2Fhelp%2Fgetting-started-xpand.html Создан проект: org.eclipse.xtext.domainmodel. который содержит следующие пакеты: model, templates, workflow. Я был в состоянии создать пакет генератора, добавив следующую строку в рабочем процессе: фрагмента = generator.GeneratorFragment автоматические инъецировать { \t \t \t \t generateMwe = истина Могу я просто создать модель и шаблоны пакеты и падения там моя модель и шаблоны? – panipsilos

+0

@panipsilos: Просто чтобы все было ясно: вы действительно используете Helios? Или вы просто связались с файлами помощи Helios случайно? Поскольку версия Xtext/Helios довольно устарела, и особенно материал генерации кода был значительно изменен. Это также объясняет, почему вы пропустите проект генератора - у современного Xtext его нет. –

+0

Правильно, я использую Eclipse galileo. Я заметил, что проект устарел. Я тщетно пытался настроить новую версию xtext для совместной работы с xpand, без везения Я заметил, что теперь xtext (по крайней мере, в версии Galileo) поддерживает xtend из коробки. Поэтому я переключился на xtend. – panipsilos

0

Возможно, это не относится к первому человеку, который спросил об этом :), но у меня была аналогичная проблема, и причина в том, что в моей расширенной грамматике xbase.

При расширении Xbase строительства mwe2 пропускает поколение генератора заглушки и использует генерацию кода Xbase, который генерируется вместо (The ANTLR синтаксический анализатор, сериализатору и т.д.)

 Смежные вопросы

  • Нет связанных вопросов^_^