5

我正在编写一个 Ruby 程序,我想在其中使用以下库:

  1. LTL3 工具。http://ltl3tools.sourceforge.net/
  2. AT&T FSM 库。http://www2.research.att.com/~fsmtools/fsm/
  3. LTL2BA 库 www.lsv.ens-cachan.fr/~gastin/ltl2ba/

LTL3 工具是用 OCaml 编写的,AT&T FSM 库是用 C++ 编写的,LTL2BA 库是用 C++ 编写的。LTL3 工具依赖于 AT&T FSM 库和 LTL2BA 库。我有所有这些库的可执行文件和源代码。

如何从 Ruby 代码访问所有这些库?对不起,菜鸟问题,这是我在 Ruby 的第一周。顺便说一句,如果有帮助,我正在使用 Linux Ubuntu。

4

1 回答 1

5

与用不同语言编写的库进行交互的最简单方法不是找到 API 桥以使其作为程序的一部分运行,而是让它作为您通过管道传输数据的不同进程运行(以文本格式,或无论它容易支持什么)。

从描述来看,L3LTools 似乎用于将某种东西转换成另一种东西,可以以文档化的文本格式读取和打印它们,并且有一个 shell 脚本包装器可以为您完成管道。

您甚至不需要知道它是用哪种语言编写的。只需为其输出格式获取解析器,为其输入格式获取打印机,然后从您的代码中调用脚本。

于 2012-11-24T21:49:31.177 回答