Prolog :使用谓词“Name”按音节划分单词
我需要从用户那里读取一个单词,然后将其拆分为音节 基于 2 个规则之一:元音-辅音-元音,或 元音-辅音-辅音-元音。 看起来谓词“name”不起作用,应…
在 Prolog 中展平列表
我才使用 Prolog 几天。我明白一些事情,但这确实让我困惑。 我想编写一个函数来获取一个列表并将其展平。 ?- flatten([a,[b,c],[[d],[],[e]]],Xs). X…
Prolog 谓词调用
在以下教程中: http://www.csupomona.edu/~jrfisher/ www/prolog_tutorial/7_3.html 有一部分: test_parser :- repeat, write('?? '), read_line(X)…
表中的 Prolog 点
我有一个给定的列表,表示二维列表 x。该表包含两个 1 的“点”,如下例所示: xxxxxxxxxxxxxxxx xx1111xxxx111xxx xxx1111xxxx11xxx x1111xxxxxx111x…
Prolog 获取用户输入的字符串,避免输入错误时程序终止
我正在尝试在 prolog 中编写一个简单的 shell。 我目前使用 read/1 查询用户输入。 但是我有两个问题想解决。 1) 用户只能输入条款。 该查询要求用户…
Prolog - 将列表分为 N 部分
我正在尝试编写一个谓词,将列表分为 N 个部分。 这是我到目前为止所拥有的。 partition(1, List, List). partition(N, List, [X,Y|Rest]):- chop(Lis…
Prolog 列出错误:超出全局堆栈
我正在尝试在序言中写一条规则 adjacent(X,Y,Zs),如果 X 和 Y 彼此相邻,则为 true列出Z。 我目前有: append([],L,L). append([H|T],L,[H|LT]):-app…
如何将 DCG 转换为 PROLOG 中的普通定语子句?
如何将以下 DCG 转换为 PROLOG 的普通定子句? expr_regular --> cor_ini,numero,guion,numero,cor_fin. cor_ini --> ['[']. numero --> ['0'];['1'];…
prolog 搜索列表
我正在尝试比较这些列表。给定函数(List1,List2)并且List1具有长度N并且List 2具有长度M并且N>M。 我想检查 List2 的任何排列是否恰好是 List1 的前…
在序言中从数据库调用事实
我已使用 assert(....) 将给定的上下文无关语法插入到数据库中 如果语法类似于 S-->a,S,b S-->c 此语法,则将其插入数据库中。 我必须编写一个dcg来为…
处理序言上下文无关语法
给定一个 CFG, S --> a S b | c | d 生成所有可能的谓词 sentences like sentence=acb, sentence=acd, sentence=c, sentence=ab....................…
如何在 Prolog 中搜索并用另一个子列表替换一个列表?
我正在尝试通过搜索和替换来修改列表,想知道如何使用搜索词作为列表来搜索列表? 假设我有一个列表 [1,2,3,4] 我想挑出 2 和 3 并将其替换为 5,6 所…