I was enjoying using YARD a lot:
http://code.google.com/p/yardparser/
http://www.codeproject.com/KB/recipes/yard-tokenizer.aspx
I was able to construct fully functional calculator. I’m evaluating YARD to do PHP parser. Please kindly advise on limitations of PEG grammar & parser generators. Thank you very much!
I think the big “problem” with PEGs is that they don’t fit into the normal taxonomy of grammars as they operate in a fundamentally different way. Normal grammars are “backwards” in the sense that they describe all the possible sentences (programs) that can be generated. PEGs describe how to parse–they come at the problem from the other end.
In my view this is a more natural way to think about the problem, and certainly for any hand-written (recursive-descent) parser I wouldn’t do anything else.