Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2023-12-30 19:32:57


On 12/28/23 1:05 PM, Zach Laine via Boost wrote:
> I'm trying to gauge interest in a parsing library to replace
> Boost.Spirit 2/Spirit X3. I'm also looking for endorsements.
>
> The library is intended to remedy some shortcomings of Boost.Spirit*.
> I think these are great libraries, but Spirit 2 was written in pre-11
> C++ (I think; certainly its dependencies were). Most-to-all of the
> downsides stem from that -- long compile times, inscrutable
> compilation failures, etc. (Boost.Parser compile times are quite
> low.)
>
> I'm calling my proposal Boost.Parser, and it follows many of the
> conventions of Boost.Spirit 2 and X3, such as the operators used for
> overloading, the names of many parsers and directives, etc. It
> requires C++17 or later.
>

Very interesting.

The Boost Serialization library has used Boost Spirit x1 to parse xml
archives for over 20 years. I had some familiarity with recursive
descent parsing and relatively little with template metaprogramming
which made for a strenuous learning experience. The library comes with
incredible documentation. Once I got the hang of it, I was/am happy with
it. I haven't touched it in 20 years. I totally and completely forgot
everything about it. This is a testament to the capability of it's
author. The concept of separating the grammar specification from token
handlers made the actual code almost nothing. I've looked at the
comments here and a little at the document. One question:

Is there a reason it shouldn't be named Spirit4 ?

Robert Ramey


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