1

我是 Prolog 的新手,我刚刚开始环顾四周。我现在阅读了关于简单逻辑学习 Prolog 的定义子句语法一章!,所以现在我想开始做一些运动,但我被卡住了。我必须使用这种语法从文件中读取

setName = {elemen1, element2,..., elementN}.
element1: element2 > element3.

现在我已经读到,当你定义一个 DCG 时,你有一个免费的解析器,所以我想这样做以将数据从我的文件中获取到 Prolog 程序。

我的问题是,在我读过的所有例子中,它们总是提供一个基本的字典,比如

article --> [the]

但我不能这样做,因为我不知道文件中会写什么。

有什么建议么?

4

1 回答 1

2

在 SWI-Prolog 中,考虑使用library(dcg/basics). 它提供了可以在 DCG 中使用的构建块。专注于对文件内容的清晰声明性描述,并用 DCG 说明这一点。然后使用phrase_from_file/2fromlibrary(pio)将 DCG 应用于文件。

于 2012-12-07T10:17:54.257 回答