JetBrains MPS和Eclipse XText在存储元模型的文档方面有所不同。
关于XText,这篇文章介绍了一种用法,即创建自己的编程语言和特定领域语言(DSL)。
一旦你有了一种语言,你想要处理它,这通常意味着将你的模型转换为另一种表示形式。
负责这种转换的设施称为生成器,由一堆转换模板(例如XPand
)和执行它们的一些代码组成。在某些事件上,读入模型并应用转换以生成代码。
dot3zest带有一个将DOT转换为Zest的解释器(现在使用为DOT语法生成的Xtext switch API),支持特定的DOT边缘定义。
关于MPS,你可以看到这里有一系列实际示例,
比如这个用于生成GPL的代码,例如Java、C#、C++或XML:
(来源:googlecode.com)