1

我想读取一个包含每行名称的文件。而且我不知道如何使用 SWI Prolog 做到这一点。我对 C/C++ 有足够的了解,那么有什么方法可以对 Prolog 做同样的事情吗?

4

1 回答 1

3

在我看来,从 SWI Prolog 中读取文件的最佳方法(特别是如果您想做一些标准谓词未涵盖的事情,例如从流中读取 Prolog 术语的 read/2)是首先编写一个 DCG(= 确定子句语法)以声明方式指定您要描述的内容。您可以在查询中交互式地使用 DCG 来试用它(即,解析并经常生成它所描述的字符串)。然后,使用 SWI-Prolog 的 library(pio) 将 DCG 应用到一个带有 phrase_from_file/2 的文件。

于 2011-11-29T15:52:59.873 回答