From Eclipsepedia

Jump to: navigation, search



How do I load my model in a standalone Java application ?

Assuming you have a grammar Foo.xtext the Java code to load a corresponding model from a resource should look something like this:

Injector injector = FooStandaloneSetup.createInjectorAndDoEMFRegistration();
XtextResourceSet resourceSet = injector.getInstance(XtextResourceSet.class);
resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
Resource resource = resourceSet.getResource(URI.createURI("platform:/resource/myproject/my.foo"), true);
Foo foo = (Foo) resource.getContents().get(0);

Workflow / Generator

Why do I get warnings like "warning(200): InternalFoo.g:42:3: Decision can match ..." when running the generator ?

Here's an example of the full error message:

warning(200): InternalFoo.g:42:3: Decision can match input such as "FOO" using multiple alternatives: 1, 2


OK, but I didn't get these warnings in oAW Xtext !


  <!-- Antlr Generator fragment -->
  <fragment class="org.eclipse.xtext.generator.AntlrDelegatingFragment">
      <options backtrack="true"/>

Why are generated packages from an imported grammar A duplicated in dependent grammar B ?

In addition to the import statement in B.xtext you must also configure your GenerateB.mwe workflow to let it know about the corresponding GenModels of grammar A. You do this by setting the genModels attribute of the EcoreGeneratorFragment:

   <fragment class="org.eclipse.xtext.generator.ecore.EcoreGeneratorFragment"