从Modelica模型中删除注释

时间:2017-05-14 13:48:04

标签: annotations modelica dymola openmodelica jmodelica

我正在开发一个Modelica库,需要生成一个包含源代码清单的文档。我希望能够在没有注释的情况下包含Modelica模型的来源。

我可以手动编辑它们,但我正在寻找更自动化的策略。我猜测最方便和直接的方法是使用一些工具来保存没有注释的.mo文件,并将其包括在我的文档中(我在LaTeX中使用\lstinputlisting)。

有可能这样做吗?我可以访问Dymola,OpenModelica和JModelica。 Dymola 显然能够生成这样的列表,因为它能够将其包含在自动生成的文档中(文件>导出> HTML ...)。我一直在研究Dymola和 OpenModelica 的脚本编写,但还没有找到办法。

JModelica 似乎可能是一个不错的选择,但我没有使用Python的经验。如果这是可能的,有人给了我一些指示,我愿意自己调查一下。我找到了一个prettyprint功能可以提供这项工作,但我不知道从哪里开始。我甚至无法在latest documentation中找到对该函数的引用。

对我来说,使用Dymola / OpenModelica(通过UI或使用脚本)找到一种方法也会更方便。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

我认为您可以在OpenModelica中使用saveTotalModel("total.mo", MyModelName)。如果我没记错的话,这将删除大多数注释(不是用于代码生成的注释),并且包括所有依赖项的源代码。然后,您只需复制粘贴要包含在列表中的模型/包。或者如果您愿意,可以执行以下操作,仅包含特定模型的代码:

loadModel(Modelica);
loadFile("MyModel.mo");
saveTotalModel("total.mo", MyModel.A.B);
clear();
loadFile(MyModel);
str := list(MyModel.A.B);
writeFile("MyModel.A.B.listing", str);