Xtext грамматика в двух файлах - PullRequest
1 голос
/ 29 ноября 2011

Я хочу поместить свои терминалы в отдельный файл, потому что я буду использовать внешний лексер в рабочей версии. Я попытался следовать ответу на , используя определения пользовательских терминалов . Итак, у меня есть файл mypackage/Tokens.xtext и файл mypackage/MyDsl.xtext, содержащий

grammar mypackage.MyDsl with mypackage.Tokens

Генерация работает нормально, но она создает MyDslStandaloneSetupGenerated в src-gen, который не компилируется, потому что вызывает несуществующий mypackage.TokensStandaloneSetup.doSetup(). Он также генерирует src-gen/mypackage/services/MyDslGrammarAccess, который относится также к несуществующему классу TokensGrammarAccess. Итак, мой вопрос в основном: когда у меня есть другой файл грамматики, что еще я должен сделать, чтобы сделать его пригодным для использования?

Ответы [ 3 ]

1 голос
/ 29 ноября 2011

Вам также нужно запустить генератор для грамматики токена.

0 голосов
/ 05 ноября 2014

Простая причина:

Easier to Read and work with the Grammar for everybody (especially other users)

Похоже, Xtext по-прежнему не поддерживает использование более одного файла .xtext

0 голосов
/ 01 декабря 2011

в Xtext вы обычно помещаете токены (терминалы) и правила парсера в один и тот же файл .xtext.Есть ли конкретная причина, по которой вы хотите разделить это?

...