2016-03-01 48 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++語法進口或爲其提供源。」

編輯:請注意,您可以,但是,修改代碼生成模板。