我想对我的Enterprise Architect模型中的一些C++文件进行反向工程。我的C++源代码中的某些方法都以自定义宏作为前缀

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

我将MACRO1和MACRO2添加到了预处理宏列表中,以使其完全起作用。
但是现在我想在源代码导入期间将method1和method2的构造型设置为MACRO1 / MACRO2。这可能吗?

我认为讨论了类似的问题here,但我无法使其正常工作。我要理解的最大问题是,我是否必须自己为C++定义完整的BNF,还是我可以以某种方式扩展Enterprise Architect的解析器。

非常感谢你,
sitob80

最佳答案

我要求Sparx System提供非常相似的支持(我想添加注释定界符以导入Doxygen注释)。

简短的答案是:您不能。

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

也许这些可以帮助:

  • http://www.sparxsystems.com/resources/mdg_tech/
  • http://www.sparxsystems.com/enterprise_architect_user_guide/10/extending_uml_models/creatingmdgtechnologies.html

  • 您也可以尝试创建扩展来做到这一点,并以您喜欢的任何语言解析代码。

    来自Sparx系统支持的答案是:



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

    10-08 10:51