XText使用来自外部EMF模型的类型信息

时间:2011-10-25 10:28:52

标签: flash-builder xtext eclipse-emf-ecore

我正在研究使用XText将扩展DSL转换为我每天使用的语言,并且有一些明显的缺点(AS3,通过FlashBuilder)。

我有一个语法和代码生成系统,下面的声明生成一个值类,包含构造函数,类级别变量和getter等。

class Person (name: String, age: int)

这很好,但我想要在Flash播放器库中定义类型,以及我在扩展DSL中可用的用户项目中定义的类型。在上面的代码中,Stringint都来自原生Flash库。

我认为Flash Builder在内部使用EMF核心来表示任何包含的libs(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 个答案:

答案 0 :(得分:1)

让我们假设Flash Builder附带了一个基于EMF的元模型。那么你要做的“事情”就是实现一个IResourceServiceProvider。我在博客上为uml模型做了同样的事情:http://christiandietrich.wordpress.com/2011/07/17/xtext-2-0-and-uml/

和no:xtend是一种现代风格的编程语言,可编译为Java并具有很好的模板支持。