我有一个 Xtext 项目和几个示例 DSL 文件。我可以使用“示例 Ecore 模型编辑器”打开这些文件并验证它是否符合 Xtext 生成的元模型。但是,由于 DSL 文件未被识别为 Ecore,我无法创建“EMF 项目”或“EMF 生成器模型”。
我的问题是,如何从我的 example.dsl
文件导出 ecore?
附言我相信这是可能的 fact
最佳答案
您有两种方法可以为您的 DSL 获取 ecore 元模型
在标准向导生成的 Xtext-Project 中,ecore 元模型从您的语法中派生而来。工作流生成器将生成的元模型保存到
[Project]/src-gen/[your-package]/[grammar-name].ecore
例如:
org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.ecore
您也可以自己编写 ecore 元模型并使用 if 语法。这不是一个简单的过程,但它提供了更大的灵 active 。有关详细信息,请参阅:http://blog.efftinge.de/2009/11/xtext-using-existing-ecore-models.html
关于dsl - Xtext(DSL 文件)到 Ecore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15460080/