Sin*_*ico 8 eclipse xtext eclipse-emf
我需要以编程方式将符合XText语法的文本转换为符合XText从同一语法生成的Ecore元模型的AST.
我知道XText也会生成实现这种解析器的Java类,但我不知道它们在哪里以及如何使用它.
可以在Eclipse wiki 的Xtext页面上找到这个问题的完整答案.
new org.eclipse.emf.mwe.utils.StandaloneSetup().setPlatformUri("../");
Injector injector = new MyDslStandaloneSetup().createInjectorAndDoEMFRegistration();
XtextResourceSet resourceSet = injector.getInstance(XtextResourceSet.class);
resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
Resource resource = resourceSet.createResource(URI.createURI("dummy:/example.mydsl"));
InputStream in = new ByteArrayInputStream("type foo type bar".getBytes());
resource.load(in, resourceSet.getLoadOptions());
Model model = (Model) resource.getContents().get(0);
Run Code Online (Sandbox Code Playgroud)
将文件扩展名(mydsl
)更改为您自己的语言扩展名.