парсер xtext

@Inject
protected void setInjectedParser(IParser parser) {
    this.parser = parser;
}

Я хочу вручную запустить движок xtext, и я не уверен, когда и где вызывается setInjectedParser.

Благодарность,


person Dana Klein    schedule 05.12.2012    source источник


Ответы (1)


Guice вызовет #setInjectedParser(IParser) при создании экземпляра XtextResource, чтобы внедрить его в другое место. Это делается Guice, потому что сеттер помечен @Inject.

вручную запустить движок xtext

Что ты хочешь этим сказать?

person Alex    schedule 05.12.2012
comment
до сих пор я использовал «затмение запуска во время выполнения» для запуска xtext в качестве плагина. теперь я хочу использовать некоторые из его методов во внешнем приложении, которое будет делать это в командной строке, а не в плагине eclipse. - person Dana Klein; 05.12.2012
comment
В общем, у меня есть dsl в качестве плагина, и я хочу создать новое приложение, использующее мой dsl. поэтому я попытался написать этот код: JsonParser p = new JsonParser(); IParseResult r = p.parse (новый StringReader ({})); //как только это сработает, это будут данные файла вместо {}, но когда я выполняю синтаксический анализ, построитель модели узла имеет значение null, и в следующей строке есть исключение: return doParse(ruleName, in, nodeModelBuilder.get(), 0); и я не уверен, как запустить nodeModelBuilder, я уверен, что пропустил некоторые шаги, но я не совсем знаком с процессом xtext. - person Dana Klein; 05.12.2012