1

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

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

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

JModelica似乎是一个不错的选择,但我没有使用 Python 的经验。如果这是可能的并且有人给我一些指示,我愿意自己研究一下。我发现提到了一个prettyprint可能完成这项工作的函数,但我不确定从哪里开始。我什至在最新的文档中都找不到对该函数的引用。

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

4

1 回答 1

1

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

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);
于 2017-05-15T08:52:04.487 回答