Как насчет: в python
>>> for i in range((999*999),(100*100), -1):
... if str(i) == str(i)[::-1]:
... print i
... break
...
997799
>>>
взгляд https://github.com/leblancmeneses/NPEG может легко быть преобразован в php. Дерево синтаксического анализа создается с анонимными функциями.
Вы посмотрели на ANTLR? Это производит код лексического анализатора и синтаксического анализатора, абстрактные синтаксические деревья дескрипторов, позволяет Вам ввести код грамматика, которая будет введена в код лексического анализатора/синтаксического анализатора и его доступное для множества языков!
Существует на самом деле один для JavaScript: OMeta. http://www.tinlizzie.org/ometa/
Я также реализовал версию этого в Python: http://github.com/python-parsley/parsley
Также существует Kouprey для JavaScript, который представляет собой очень простой в использовании генератор / библиотеку PEG.
Недавно я написал PEG.js , основанный на PEG генератор парсера для JavaScript. Его можно использовать из командной строки или попробовать в браузере.