0

我正在开始一个项目,并在开始做出重大决定之前寻求一些指导。

该项目是一个网络模拟器。基本上,我将加载一个表示计算机网络的有向图。预计网络将运行一种算法来模拟整个网络的操作。图上的每个单独节点都将运行相同的算法。

例如:一个简单的泛洪算法,它从根节点开始,每个节点都应该能够接收到消息然后将其重新发送给它的邻居。

我的问题是加载每个节点运行的算法。用户应该能够使用该算法创建一个文本文件,并将其加载到我的程序中,以便每个节点单独运行。

文本文件可以是任何格式,但我相信如果将它们格式化为 c++ 函数会最简单。

我能想到的唯一想法是创建一个解析器来读取每一行。这不仅会很困难,而且由于大多数算法中都存在循环,我认为这不会起作用。

我愿意给出更详细的描述。

4

1 回答 1

2

通常,如果您想在文件中编写代码,您会使用脚本语言。Lua是一个流行的。

您对为算法解析文本文件的描述基本上是您创建自己的脚本语言(这也很常见)。

也许您不需要成熟的脚本语言,但至少,您需要一种特定于域的语言,并且还不如为此目的使用脚本语言(沙盒)。Boost::Spirit是一种用于直接在 C++ 代码中描述和嵌入特定领域语言解析器的选项。

于 2013-03-13T22:37:43.770 回答