2016-03-01 49 views
2

我想在我的Enterprise Architect模型中逆向工程一些C++文件。在我的C++的一些方法 - 源的前缀为宏观用自定义宏扩展C++的企业架构语法

 class Model 
    { 
    public: 
     Model(); 
     MACRO1 void method1(); 
     MACRO2 void method2(); 
    } 

我添加MACRO1和MACRO2预处理宏的列表,使其工作在所有的自定义。 但是现在我想在导入源代码的过程中将method1 & method2的原型设置为MACRO1/MACRO2。这是否有可能?

我认为类似的问题被讨论here,但我不能让它工作。我理解的最大问题是,我是否必须自己定义一个完整的BNF for C++,或者我是否可以以某种方式扩展Enterprise Architect的解析器。

非常感谢你, sitob80

+2

评论还建议使用后期预处理代码。 – Jarod42

回答

1

我问的Sparx系统支持非常相似的(我想添加注释分隔导入Doxygen的意见)的东西。

简短的回答是:你不能。

长的答案是:你可以尝试编写自己的语法来适合你的用例。不幸的是,C++没有起点(简单的示例语言示例远没有完成),并且Sparx System无法提供C++示例。

也许这些可以帮助:

你也可以尝试创建一个扩展做到这一点,分析你的代码在任何语言的舒适用。

从的Sparx系统支持的答案是:

“对不起,我们不提供选项供用户修改我们的基地C++语法进口或为其提供源。”

编辑:请注意,您可以,但是,修改代码生成模板。