This page provides information about software for finding palindromes in files.
Palindromes implements an efficient, linear-time program for determining palindrome substrings in a string. It can be used to find the longest palindrome substring, or the longest palindrome around each position in a string. Furthermore, it can be used to find the longest palindrome text, that is, a substring in which spaces, punctuation symbols, and character case are ignored.
For example, calling palindromes -t on a file containing the string "A man, a plan, a canal, Panama!" will return that string itself: "A man, a plan, a canal, Panama!".
- The software is based on the program described on my blog, which is an extended and improved description compared with the ICFP contest version.
- A formal derivation of this program can be found in: Johan Jeuring, The derivation of on-line algorithms, with an application to finding palindromes. Algorithmica, 11, pages 146 - 184, 1994. (Also available via my publications page.)
- Manacher and Galil described how to find all initial palindromes already much earlier. See for example Zvi Galil, Real-time algorithms for string-matching and palindrome recognition. STOCS 1976.
- To report bugs, use the Google Code issue tracker for Palindromes.
- For general concerns and questions, contact johan at jeuring.net
[28/12/2012] Palindromes 0.4 released.
[1/7/2012] Palindromes 0.3 released.
[17/3/2012] Palindromes 0.2.2 released.
[10/1/2010] Palindromes 0.2 released.
[6/9/2009] Palindromes 0.1 released.