3

我有一个 Xtext 项目和几个示例 DSL 文件。我可以使用“Sample Ecore Model Editor”打开这些文件并验证它是否符合 Xtext 生成的元模型。但是,由于 DSL 文件未被识别为 Ecore,我无法创建“EMF 项目”或“EMF 生成器模型”。

我的问题是,如何从example.dsl文件中导出 ecore?

PS我相信这是可能的,因为这个事实

4

1 回答 1

2

您有两种方法可以为您的 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 与您的语法一起使用。这不是一个简单的过程,但它提供了更大的灵活性。有关更多信息,请参阅:http ://blog.efftinge.de/2009/11/xtext-using-existing-ecore-models.html

于 2013-03-17T12:08:13.283 回答