Python is a nice scripting language. It even gives you access to its own parser and compiler. It also gives you access to different other parsers for special purposes like XML and string templates.
But sometimes you may want to have your own parser. This is what's pyPEG for. And pyPEG supports Unicode.
The source code for all you can find on bitbucket:
https://bitbucket.org/fdik/pypeg/
To build the documentation, you'll need YML 2. You can download YML here:
Homepage: http://fdik.org/yml/ Toolchain: http://fdik.org/yml2.tar.bz2
pyPEG 2 depends on lxml, see http://lxml.de/
python setup.py install