我想对我的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++示例。
也许这些可以帮助:
您也可以尝试创建扩展来做到这一点,并以您喜欢的任何语言解析代码。
来自Sparx系统支持的答案是:
编辑:请注意,但是,您可以修改代码生成模板。