Boost logo

Boost :

Subject: Re: [boost] Determining interest: C++11 parser generator library
From: Gene Bushuyev (408727_at_[hidden])
Date: 2011-11-14 12:08:24


"John Bytheway" <jbytheway+boost_at_[hidden]> wrote in message
news:j9qp21$f09$1_at_dough.gmane.org...
> On 13/11/11 23:39, Gene Bushuyev wrote:
>> Sorry if it turns out to be a duplicate, it looks my original post was
>> lost in cyberspace, so I'm re-posting this request.
>>
>> I'm trying to determine if there is a sufficient interest for including
>> AXE C++11 recursive descent parser generator library in Boost. The
>> zipped sources and documentation are here:
>> http://www.gbresearch.com/axe/axe.zip
>
> People are more likely to investigate if you can provide a link to the
> documentation online somewhere, so they don't have to download and
> extract a zip file.
>
> It would also be useful to explain briefly how it compares with
> Boost.Spirit.
>
> John Bytheway

It's true there is a significant overlap with Spirit. It's also true there
is more than one way to do the parsing, so some people will be more
comfortable with Spirit, and I have reasons to believe some people will be
more comfortable with AXE. There are differences, importance of which
depends on personal perspective and needs. I tried to summarize below what I
would consider advantages of AXE:

* it's a much smaller header only library: 15 files, 126 KB total
* it has no dependencies on other libraries apart from the Standard library
* it uses only standard facilities, so theoretically it should work with any
C++11 compiler without any modifications
* compilation times are much shorter than Spirit
* the syntax is less cryptic than Spirit, so it's easier to remember, write,
debug, and read parsers written in AXE (this is, of course, subjective)
* in my limited comparison, parsers written in AXE take fewer lines of code
to write, and development times are shorter

Disadvantages:
* AXE requires C++11 compiler, current status of compiler support is unknown
* It's been released recently, thus there is limited experience working with
it

The link to the reference is here: www.gbresearch.com/axe/reference.pdf

-- Gene Bushuyev


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk