I'm looking for an easy-to-understand implementation of the Earley parser, written in C++, that works in Solaris. The Earley parser I'm looking for is for natural language, not for programming language; I would like to generate parse trees for natural language sentences like "I ate the soup with a spork", and print them out to stdout.

Any idea of where I can find a good one? Please ... no "google it" answers, I've googled it for the past 2 hours and haven't found anything.

Thanks in advance
---edk