所以,我的目标是创建图形 DSL。我使用 Eclipse 建模框架创建了一个 ecore 模型,之后我使用 Sirius 创建了图形建模工具,但在生成 Java 代码的最后一步时遇到了问题。我想用 Xtend 来生成它。有什么建议最好的方法是什么,或者一些有用的链接?
问问题
400 次
1 回答
2
有两个方面:
- Xtend 生成器本身,可以独立于 Sirius 进行开发和测试。
.aird
它会将您的 DSL 文件/模型(不是 Sirius 的or文件)作为输入.odesign
,并生成您想要的任何内容。这方面我无能为力。 - 将生成与基于 Sirius 的建模器集成。
假设您知道如何以编程方式调用 Xtend 生成器,有几种方法可以从 Sirius 内部触发它。例如,您可以使用Popup Menu类型的工具向建模器的上下文菜单添加一个条目,然后它可以调用您想要的任何 Java 代码,并从那里启动生成器。
这就是Ecore Tools为启动 EMF GenModel 代码 gen 所做的事情:它声明了调用此 Java 类以执行实际生成的弹出菜单。
于 2018-06-06T07:26:15.840 回答