
----- Original Message ----- From: "Matt Hurd" <matt.hurd@gmail.com> To: <boost@lists.boost.org> Sent: Friday, December 24, 2004 1:45 AM Subject: Re: [boost] Interest in a Recursive Descent Parsing Library
On Thu, 23 Dec 2004 18:53:54 -0500, christopher diggins <cdiggins@videotron.ca> wrote:
I realize that there is of course already the boost::spirit library for parsing, but I have recently released another recursive descent parsing library with a substantially different design. The YARD parser requires grammar productions to be defined as meta-functions and does not use operator overloading. The code base is quite a bit smaller, and I personally find the library easier to use than Spirit (of course I am very biased). The home page at http://yard-parser.sf.net/ . Would there be any interest in this of library for Boost? TIA
Chris,
I like Spirit and have a production system that parses a particular vendors data packets using it. Works well. My only real complaint about Spirit is that it is quite a slow parser. This could be improved by having first / follow set kind of things without an interface change. Spirit is quite good at representing the LL grammars you normal deal with when doing RDP.
Do you have an example of two small grammars that might highlight why YARD is better?
Hi Matt, I would not say YARD is a better parser than Spirit, it is designed with quite different goals. YARD is designed to be compact and flexible. Concerning "first/follow set kind of things" I am not sure what you mean. I know that the YARD parser makes it very easy to write custom rules which could possibly allow what you are looking for. In terms of a grammar example the YARD release contains an XML grammar but I am not sure precisely how to express an XML grammar in Spirit. Christopher Diggins http://www.cdiggins.com http://www.heron-language.com