我正试图找到一个解析器的OCL,可以生成一个Ecore模型文件,以便我可以使用模型建模方法,以便将OCL语句转换为其他语言模型,例如OCL到SQL(但不仅仅是SQL)。
有人知道如何将OCL转换为Ecore吗?
MDT项目支持OCL: http://www.eclipse.org/modeling/mdt/?project=ocl有一个OCL语言的EMF元模型,因此您可以将它用于您的转换。
您需要在eclipseOCL中重写ToStringVisitor class
OCL没有可实现的标准模型表示,但是Eclipse OCL原型为OMG OCL规范的许多问题提供了解决方案。
使用Eclipse OCL,您可以在ocinecore或Complete OCL编辑器中使用OCL->Save Abstract Syntax来创建符合Pivot.ecore的模型。
参见http://git.eclipse.org/c/ocl/org.eclipse.ocl.git/tree/plugins/org.eclipse.ocl.pivot/model-gen/OCL-2.5.oclas获取OCL标准库的模型。