2011-10-25 68 views
1

我正在研究使用XText來擴展DSL到我每天使用的語言,並有一些明顯的缺點(AS3,通過FlashBuilder)。XText使用類型信息從外部EMF模型

我有一個語法和代碼生成系統工作,在下面的聲明中生成一個值類,與構造函數,類級VAR和干將等

​​

這是正常的,但我想有flash播放器庫中定義的類型以及我在擴展DSL中可用的用戶項目中定義的類型。在上面的代碼中,Stringint都來自本機閃存庫。

我認爲Flash Builder內部使用EMF內核來表示任何包含的庫(swcs)以及我在項目中定義的任何類型。如果是這樣的話,我的問題是:

How can I access the EMF model of FLash Builder? 

如果沒有EMF模型,然後我相信我將不得不解析library.swc我和我的項目的源代碼。

Is the Xtend language intended to preform these sort of native filesystem tasks? 

感謝

回答

1

讓我們asume在Flash Builder附帶了一個基於EMF的元模型。那麼你必須做的事情就是實現一個IResourceServiceProvider。我已經在爲uml模型做同樣的東西了:http://christiandietrich.wordpress.com/2011/07/17/xtext-2-0-and-uml/

和no:xtend是一種現代風格的編程語言,可編譯爲Java並具有良好的模板支持。