我想使用Enterprise Architect 11从源代码中反向设计模型。类定义如下所示:
class MYCUSTOMMACRO(className) : public baseClass
{
...
}
不幸的是,EA跳过这些类,因为宏未被识别。如果我在EA中定义语言宏,则会整体跳过MYCUSTOMMACRO(className)
。这再次产生解析错误,因为缺少类名。
那么,有没有办法从宏中提取类名并导入类?
谢谢, 奥利弗
答案 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;定义的类。
希望这有帮助!