Принятие и миграция XText2 - PullRequest
2 голосов
/ 13 июля 2011

Кто-нибудь здесь пытается принять xtext2 и перейти с xtext1.x на xtext2.0?Кажется, xtext2 приносит много новых привлекательных функций.Такие как Многоразовый язык выражений и Xtend: Язык генерации кода.Множество улучшений производительности внесено в рабочую среду Xtext и возможность переименования.Так кто-нибудь расскажет вам о xtext2?Вероятно, это немного ранний вопрос.Но я просто жду и вижу.

xtext2 homepage

Ответы [ 3 ]

2 голосов
/ 13 июля 2011

Я обновил существующий не слишком сложный язык с Xtext 1 до Xtext 2 и попытался разработать новый, используя Xtext2 и XBase. Мне пришлось повторно выполнить шаг генерации кода, а также изменить рукописные валидаторы, потому что места ошибок и предупреждений должны указываться с использованием литералов, а не целых чисел. Э.Г.

error("File does not exist with path: " + path, fileReference, ViatraTestDslPackage.FILE__PATH);

следует заменить на

error("File does not exist with path: " + path, ViatraTestDslPackage.Literals.FILE__PATH);

Точно так же рабочий процесс должен быть изменен, чтобы включить некоторые новые функции: API схемы использует разные фрагменты (outline.OutlineTreeProviderFragment и outline.QuickOutlineFragment), для поддержки переименования и сравнения необходимо добавить новые фрагменты (refactoring.RefactorElementNameFragment и сравните.Сравните фрагмент).

В моих экспериментах с XBase кажется, что добавление этого в язык, который уже поддерживает некоторые выражения, может быть трудоемким, потому что либо старые выражения должны быть заменены выражениями XBase (или, по крайней мере, изменены таким образом, чтобы сделать их доступными в выражениях XBase), в противном случае вам придется поддерживать два вида выражений в генераторе кода или интерпретаторе.

Завершая мой ответ, я полагаю, если у вас есть простой редактор Xtext 1.0, где вы в основном полагались на автоматически созданные функции, переход на Xtext 2.0 кажется простым и рекомендуемым; однако, если вы настраивали много вещей в написанном вручную коде, будьте осторожны, потому что миграция может быть непростой, и я не нашел настоящего руководства по миграции.

1 голос
/ 17 сентября 2011

http://www.eclipse.org/Xtext/documentation/2_0_0/213-migrating-from-1.0.php#migrating_from_1_0_x_5_4

Я просто нахожу эту полезную ссылку.

Также я сталкиваюсь с некоторыми проблемами, особенно в модуле сериализации. К счастью, в файле mwe2 он оставляет сериализацию версии 1.0, я использую это и исправляю проблему при использовании модуля сериализации версии 2.0. Не зная почему ..

Другая проблема - странная ошибка в проверке xtext. Всегда жалуются на ClassCastException. ошибка приведения типа String к QualifiedName.

0 голосов
/ 13 июля 2011

Пока еще рано, учитывая недавнюю дату релиза:
Команда только что представила / продемонстрировала XTend2 в демокампах за последний месяц (июнь 2011 года) .

...