首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Acceleo和Xpand有什么不同?

Acceleo和Xpand有什么不同?
EN

Stack Overflow用户
提问于 2011-09-13 20:39:09
回答 5查看 2.4K关注 0票数 2

我有一个基于定制元模型的DSL,而元模型又基于EMF/Ecore。我正在试图找出选择哪种解决方案,但我在任何地方都找不到任何像样的比较。

有谁有任何理由让我选择一个而不是另一个?

到目前为止,我所知道的是Acceleo使用的是一种OMG标准化语言,但它似乎比Xpand更难使用。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-09-13 23:08:33

首先,我想知道为什么你认为Acceleo比Xpand更难学,虽然这两种语言有差异(例如块和分隔符),但它们有非常相似的结构。我不会详细介绍这两种语言中的所有元素,但是,例如,我看不出像这样的东西之间的区别:

«FOREACH myAttributes AS a»«a.name»«ENDFOREACH»

(a:

|myAttributes)/for的属性

两者都是基于模板的语言,因此它们具有完全相同的结构。Acceleo和Xpand之间的主要区别来自于Acceleo是基于OMG和工具的MOFM2T和OCL标准的事实。

我对Xpand工具不是很熟悉,但你可以在他们的wiki上找到更多关于它的信息。另一边的Acceleo包含一个编辑器,它具有语法突出显示、代码完成、错误检测、重构等功能。它还包含调试器、分析器、Ant和Maven支持。您还可以轻松地将生成器作为Eclipse插件部署给其他用户,或者在常规Java应用程序中从Eclipse中使用它们。你可以在here上找到更多信息。你可以在视频中看到Obeo Network上的Acceleo的大部分功能(需要注册)。

最后,xPand上的最新活动发生在a year ago上,而Acceleo是由actively开发的。如果你愿意,你甚至可以在github上关注Acceleo的开发。

斯蒂芬·贝考多

免责声明:我是开发团队的成员之一。

票数 6
EN

Stack Overflow用户

发布于 2011-09-13 21:20:58

我是个初学者,不是专家。

我的印象是,如果您只需要一种模板语言,那么Xpand就是最佳选择。否则,选择Acceleo --但正如你所说,学习曲线非常陡峭。

什么时候你需要的不仅仅是一种模板语言?对我来说,当输出的结构(而不是内容)依赖于输入的多个独立部分时,它们似乎耗尽了天然气。如果你不想进入Acceleo,但是有这样的情况,可以考虑发明一种自动生成的“填补”语言,让你从输入语言过渡到输出语言,也许其中有很多冗余,以避免在模板生成时进行查找。

票数 1
EN

Stack Overflow用户

发布于 2012-10-26 19:19:38

我已经在一个完整的项目中使用了旧的2.x Acceleo,并用新的做了一些测试。语言非常容易使用,但在新版本中,当脚本语言不够时,要将一些java代码绑定到模板就有点困难了。

我是2.x的铁杆粉丝,但对于3.x,我增加了很多麻烦来让它工作。例如,你必须编写java代码来处理eclipse资源。当我更新到juno时,我完全放弃了,我的acceleo项目不再工作了,我也没能在两天内改正它。我希望它们能让你更容易开箱即用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7402003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档