2012-11-18 4 views
0

나는 Xtext을 이해하고 그것이 내 필요에 부합하는지 알아 내려고합니다. 실행 중에 응용 프로그램에서 컴파일 및 평가할 수있는 DSL을 만들 수있는 도구를 찾고 있습니다.Xtext 런타임 컴파일

Xtext는 문법 편집기, IDE 통합, 파서 생성기 등 다양한 기능을 제공하기 때문에 정말 좋은 도구 인 것 같습니다. 필자는 Xtext가 파서 (parser)와 IDE extension을 생성 할 수 있음을 알았지 만, 컴파일러가 필요하다면 직접 작성하거나 Java 매핑을 생성해야 컴파일 된 Java 소스 파일을 생성 할 수 있습니다.

Xtext의 파서 및 생성기를 내 응용 프로그램에 포함시키고 런타임시 내 DSL로 작성된 스크립트를 컴파일 할 수없는 경우에 표시되지 않습니다. 목표는 응용 프로그램에 스크립트를 배포하여 출시 후 변경을 가능하게하는 것입니다.

답변

2

예, 이것은 실제로 가능하며 실제로 매우 쉽습니다. 모든 핵심 구성 요소, 즉 비 IDE 기능은 Eclipse와는 별개입니다. 이 작업을 수행하는 방법을 보여주는 설명서의 예제 Java 코드가 있습니다. 기본적으로 문제 또는

// creating the injector 
Injector injector = new MyLanguageStandaloneSetup().createInjectorAndDoEMFRegistration() 

// obtain a resource set 
XtextResourceSet resourceSet = injector.get(XtextResourceSet.class); 

// load file 
Resource resource = resourceSet.getResource(URI.create("path/to/file.mylanguage"), true); 

// obtain root AST element 
MyModel model = (MyModel) resource.getContents().get(0); 
+0

고마워요! 곧 실험 해 볼게 :) – NagyI