【问题标题】:Creating XTEXT Grammar from existing Ecore Model从现有的 Ecore 模型创建 XTEXT 语法
【发布时间】:2022-01-06 15:41:58
【问题描述】:

我正在尝试从现有的 ecore 模型生成 xtext 语法。 xtext 语法生成良好。当我执行“生成 xtext 工件”时,它以“2278 [main] INFO .emf.mwe2.runtime.workflow.Workflow - 完成。”结束。

但是,它会在项目中产生错误,例如“formatter2”中的“无法解析类型”。有关详细信息和指南,请参见下图。

问候, 米斯巴赫。

【问题讨论】:

  • 缺少的类是否存在(在 ZNotationEcore 中)。定义它们的插件也会在清单中导出包,mydsl 插件是否依赖于定义类的插件?
  • 感谢您的回复: POINT1:缺少的类是否存在(在 ZNotationEcore 中)......是的,这就是它们被导入的原因 ------ POINT2:定义它们的插件也在清单中导出包............我在清单中有这个条目“Require-Bundle:ZNotationEcore”,-------- POINT3:mydsl插件是否依赖于定义类的插件? ..........ZNotationEcore 存在于 Dependencies -> required plugins
  • 能否分享一个完整的复制器(github/gitlab)
  • 还有Require-Bundle: ZNotationEcore,不是导出

标签: xtext ecore


【解决方案1】:

ecore 的 java 类丢失了

这些java类不是自动生成的,需要手动触发创建。

因此打开 genmodel 文件并在根目录中右键单击生成模型代码。

【讨论】:

  • 成功了。非常感谢。
  • 你能解释一下吗...
  • 我还有一个问题。如果我稍后更新我的 ecore 模型,更改会反映在我的 xtext 语法中吗?例如,如果我在 ecore 中添加一个新类,它会包含在我的 DSL 语法中吗?如果是,那怎么办?
  • 您可以简单地手动调整语法。对于初学者来说,是否有特定的理由要努力使用手动元模型?
  • 所以这意味着ecore和xtext中的更新不能自动完成?附言实际上,我这样做是出于研究目的。在我感知 xtext 时满足我的查询。
猜你喜欢
  • 2018-09-16
  • 2020-10-15
  • 2021-03-12
  • 2014-11-10
  • 2021-02-27
  • 2013-04-28
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
相关资源
最近更新 更多