2012-11-18 152 views
0

我想了解Xtext並找出它是否符合我的需要。我正在尋找一種工具,它允許我創建一個可在執行期間在我的應用程序中進行編譯和評估的DSL。的Xtext運行時編譯

的Xtext似乎是一個很好的工具,因爲它提供了這個很多東西(語法編輯器,IDE集成,解析器發電機等)。我瞭解的Xtext可以生成語法分析器和IDE擴展我,但如果我需要一個編譯器,我有我自己要麼寫或創建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