dsl - Xtext(DSL 文件)到 Ecore

标签 dsl xtext eclipse-emf-ecore emf

我有一个 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/

相关文章:

powershell - 在powershell中是否还有其他DSL的示例?

scala.tools.nsc.interpreter 内存泄漏

java - Xtext 2.9 范围提供者

java - 将对象转换为 Xtext DSL

code-generation - 如何在 Jetbrains MPS 2017.1 中的每个文本生成组件中使用多个概念?

eclipse - Xtext DSL 编辑器和基于 e4 的 RCP 的集成

可选项目的 Xtext 无序列表

java - 如何使用 Java 代码生成 EMF 模型

java - EMF解析的xml文件用“符号替换双引号

eclipse-emf - 可以在 Ecore 和 OCL 中保留派生属性并禁用派生吗?