Enterprise Architect(C ++):在Parantheses中使用自定义宏和参数导入源代码

时间:2015-06-30 06:40:07

标签: c++ enterprise-architect

我想使用Enterprise Architect 11从源代码中反向设计模型。类定义如下所示:

class MYCUSTOMMACRO(className) : public baseClass
{
    ...
}

不幸的是,EA跳过这些类,因为宏未被识别。如果我在EA中定义语言宏,则会整体跳过MYCUSTOMMACRO(className)。这再次产生解析错误,因为缺少类名。

那么,有没有办法从宏中提取类名并导入类?

谢谢, 奥利弗

1 个答案:

答案 0 :(得分:2)

您可以根据以下内容创建自己的MDG技术文件来实现此目的:

<MDG.Technology version="1.0"><Documentation id="0" name="Customer Code Module" version="1" notes="Allows using a Customer Macro as an identifier"/>
<CodeModules><CodeModule language="C++" notes=""><CodeOptions><CodeOption name="PrependGrammarDefinitions">
                    <![CDATA[
<identifier>            ::= "MYCUSTOMMACRO" "(" <> ")"      

]]>
</CodeOption>
</CodeOptions></CodeModule></CodeModules>
</MDG.Technology>

将代码保存为XML文件,即prependgrammer.xml。

创建后,您可以通过扩展程序激活它然后,MDG Technologies ...对话框点击了#34; Advanced ...&#34;按钮,然后添加。

现在你可以按照正常情况导入C ++,它应该选择你的&#34; MYCUSTOMMACRO&#34;定义的类。

希望这有帮助!