2

我在 SWI Prolog 中编写了一个程序来测试字符串是否是回文。DCG 中的这个任务我能够弄清楚,而且非常简单。

palindrome --> [X], palindrome, [X].  
palindrome --> [X],[X]. 
palindrome --> [X].   

我想写一个忽略空格的规则,但是在搜索了一段时间后,没有什么真正符合我的要求。我对 DCG 还是很陌生,任何见解都将不胜感激。

4

1 回答 1

4

您可以添加一个新子句来忽略空格:

palindrome --> " ", palindrome.
?- phrase(palindrome, "ab cba",[]).
true
于 2012-04-18T18:24:51.323 回答