Prolog,定义子句语法和文件



我是Prolog的新手,刚刚开始四处寻找。我阅读了Simply Logical的"定义子句语法"一章,现在就学习Prolog,所以现在我想开始锻炼,但我被卡住了。我必须读取具有以下语法的文件

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

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

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

article --> [the]

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

有什么建议吗?

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

最新更新