python - 是否有受支持的 Prolog 实现可以与 Python 完美交互?

标签 python python-3.x prolog dcg

我对用 Prolog 完成的一些语言翻译感到非常满意,但那是很久以前的事了。我现在使用 Python 进行通用编程。该领域是 DNA 测序数据处理,但这不是重点。

我有兴趣使用 DCG(定句语法)翻译成目标语言。 (DCG 非常接近于一组 Prolog 谓词,而 DCG 到 Prolog 解释层几乎是微不足道的,据我所知。)我使用的方法是解析输入语言,同时解析输入表达式,构建网络结构来表示表达式的更深层次模型。然后,另一种语法将该模型详细阐述为目标语言的有效表达式。

不过,这一次,我只想完成后半部分,采用内部模型(在 Python 对象网络中)并将它们翻译成目标语言。 (顺便说一句,该目标语言是一种工作流配置语言,而对象网络是由我希望放弃的预先存在的不太通用的工作流引擎使用的。)

那么,是否有任何现代的、受支持的 Prolog 实现可以干净地与 Python 连接?

最佳答案

YAP提供了Python接口(interface)包:

http://www.dcc.fc.up.pt/~vsc/yap/

如果你想尝试一下,我建议你从使用当前的 git 版本开始:

https://github.com/vscosta/yap-6.3

发行版中提供了一些示例:

https://github.com/vscosta/yap-6.3/tree/master/packages/python/examples

关于python - 是否有受支持的 Prolog 实现可以与 Python 完美交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36299545/

相关文章:

prolog - swi prolog 中的二进制数独

python - 在 Django 中注释现有模型对象

python - Revit Python 拾取对象/选择对象

python - 如何使用 MultiIndex 重新索引?

Python套接字: WinError 10022

prolog - 具体化集成问题

prolog - 有什么作用!序言中的符号是什么意思?

python - 使用 beautifulsoup 通过 div 标签查找 div 文本

python - Tkinter 选项菜单不显示

python - 使用给定种子随机播放 Python 2 和 3 之间的区别