Spis treści

Palindrome

Description

A program accepting palindromes

Source: The Art of Prolog

Download

Program source code: palindrome.pl

Listing

/*
	palindrome(Xs) :-
		The string represented by the list Xs is a palindrome.
*/
 
	palindrome(Xs) :- palindrome(Xs,push,[]).
 
	palindrome([X|Xs],push,S) :- palindrome(Xs,push,[X|S]).
	palindrome([X|Xs],push,S) :- palindrome(Xs,pop,[X|S]).
	palindrome([X|Xs],push,S) :- palindrome(Xs,pop,S).
	palindrome([X|Xs],pop,[X|S]) :- palindrome(Xs,pop,S).
	palindrome([],pop,[]).
 
%  Program 18.1 : A program accepting palindromes

Comments