【发布时间】:2013-04-07 01:45:24
【问题描述】:
我正在构建一个用于操作图形元素的编辑器,每个元素必须代表 API 规范中的一种元素。
API的元素基本上是一些类和接口,它们有一定的使用限制,比如元素A不能是元素B的子元素,或者不能和元素C连接等等。 .
编辑器应该允许您根据您所绘制的内容生成代码,并且生成的代码必须是与您所绘制的内容相对应的 API 的实现。
我对模型驱动架构以及如何从图形模型生成代码到某些实现一无所知(实际上)。
我不想将图形模型(包含大小和坐标等图形信息)与实现 API 规范的业务模型混合。
我正在使用 eclipse GEF 构建编辑器 这是我面临的问题:
由于图形模型和业务模型是分开的,我正在考虑定义一个 emf 模型,编辑器将是该 emf 模型的编辑器。那么是否可以将编辑器中绘制的模型,使用 emf 模型作为基本构造元素,转换为 API 规范的相应实现?
我知道,由于图形模型和业务模型是分开的,所以我必须实现某种语法分离,使用限制是 antlr 非常适合我想做的事情(谈到代码生成和语法)或我应该选择 xtext 吗?
什么 Eclipse 框架工具可以帮助我做我想做的事?
【问题讨论】:
标签: code-generation antlr xtext eclipse-gef emf