从模板生成C ++,Java,XML的工具

时间:2013-06-01 20:15:06

标签: android c++ java-native-interface code-generation template-engine

我正在寻找一种工具,可以让我:

  • 使用可替换字符串定义代码模板。示例 - <NAMESPACE>可以替换:

    jclass pJNIActivityClass = pJNIEnv->FindClass("<NAMESPACE>");

  • 根据正则表达式自动执行代码段插入。示例 - 将在// ##:

    处插入新代码
    public void onCreate ( Bundle savedInstanceState ){
        super.onCreate  ( savedInstanceState ) ;
        //##
    

我发现的现有工具是特定于语言的。我真的不需要该工具来理解特定的语言,尽管如果能解析XML会使生活更轻松。

对于某些背景。我正在一个闭源应用程序导出eclipse或visual studio项目(android或windows)的环境中工作。此导出的代码始终与项目命名空间的异常相同。

这里的想法是能够在这些股票出口项目上运行工具,以自动执行常见的额外功能。

2 个答案:

答案 0 :(得分:1)

对于FOSS解决方案,您应该查看Eclipse Foundation的Acceleo。它使用UML之类的语言作为输入,并允许您为任何基于文本的语言生成输出。它在大小和功能方面可能有点沉重,它需要安装Eclipse,但它非常擅长代码生成。它还可以很好地处理大型复杂的模板源,并提供您希望在IDE中具有的功能类型。我只使用旧版本,但我的经验很好。

如果您无法找到FOSS解决方案并且可以接受商业解决方案,我建议EntiPro。我使用它已经有一段时间了,但我对它的体验是非常积极的。它功能强大且灵活,似乎符合您在问题中列出的要求。单座开发人员许可证的价格也只有40美元。

如果您无法找到FOSS解决方案或者不想在EntiPro上丢弃$ 40,您可能需要自己实施解决方案。如果情况确实如此,我高度建议使用Terrance Parr的String Template Engine

答案 1 :(得分:0)

Telosys 是您应尝试使用的开源代码生成器:http://www.telosys.org/

它使用基于Velocity的模板引擎,因此非常适合“具有可替换字符串的代码模板”的要求