I've found a few resources on the subject, but they all require a deep understanding of SmallTalk or Haskell, neither of which I know.
Here are some parser combinator libraries in more mainstream languages:
http://www.codecommit.com/blog/scala/the-magic-behind-parser-combinators