Я работаю оа XText грамматику и я ссылка артефактов, как это: A: 'A' name=ID;
B: 'B' name = ID ':' ref=[A];
Таким образом, после запуска затмения времени работы плагина, я могу создавать файлы с соответствующим расширением, содержащим это: A a
B b : a
Теперь я хочу также обратиться к артефактам из других файлов, и он работает из коробки: , если A a
объявлен в a.file, а B b : a
объявлен в b.file, редактор не показывает ошибок. Авто-компиляция отлично работает.XText Мануэл несколько файлов компиляция
Однако, если я создаю код самостоятельно, то этот: generator.doGenerate(new ResourceSetImpl().getResource(URI.createURI(path), true), fsa);
Ссылка не разрешена.
Должен ли я скомпилировать все файлы за один проход? Как я могу это сделать?
Я не уверен, что вы поняли, что я хочу скомпилировать dsl-файлы самостоятельно (с кодом, который я поставил). Как сказано, работая с плагином eclipse, все работает нормально. Но когда я начинаю автоматически компилировать файлы, он не решает ссылки на другие dsl-файлы. Проблема, которую я хочу решить: компилировать dsl-файлы без полного «xtext-plugin-workflow» только из исходного кода. – user2504380
Я обновил ответ. Надеюсь, это поможет. –
Я ввел его так, но мой набор ресурсов пуст, если я это сделаю: val injector = new MyDslStandaloneSetup(). CreateInjectorAndDoEMFRegistration(); val resourceSetProvider = injector.getInstance (Key.get (новый TypeLiteral <поставщик>() {})); –
user2504380