我有一个Xtext项目和几个示例DSL文件。我可以使用" Sample Ecore Model Editor"打开这些文件。并验证它是否符合Xtext生成的元模型。但是,我无法创建一个" EMF项目"或者" EMF发电机模型"由于DSL文件未被识别为Ecore。
我的问题是,如何从example.dsl
文件中导出ecore?
P.S。我相信这是可能的,因为fact
答案 0 :(得分: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