|
Boost : |
From: Eric Niebler (eric_at_[hidden])
Date: 2004-09-02 19:50:37
It's been nearly a year since I first announced my intention to build a
new regular expression engine. It has finally reached a point where I am
comfortable recommending it for general use.
<< xpressive 0.9 >>
http://boost-sandbox.sourceforge.net/libs/xpressive
- What is it?
It is a regular expression engine which allows you to author regexes as
expression templates (like Spirit) *or* as strings (like Boost.Regex).
When written as an expression template, the regex is syntax-checked at
compile-time and statically bound for maximal inlining and optimization.
(See http://tinyurl.com/6k9p8 for more detail.)
Also, regular expressions can nest and call each other recursively,
which gives you the power of a context free grammar. That makes it
appropriate for simple parsing tasks.
(See http://tinyurl.com/4enn4 for more detail.)
- What's the interface like?
xpressive is a Boost.Regex work-alike. It follows the regex
standardization proposal closely, but not too close! You can read about
all the differences in xpressive's documentation.
The domain-specific embeded language for xpressive is heavily influenced
by Spirit.
- Where can I read more?
xpressive's documentation is online at:
http://boost-sandbox.sourceforge.net/libs/xpressive
- Where can I download the code?
You can get the xpressive zip archive at:
http://boost-sandbox.sourceforge.net/xpressive.zip
It contains the source code and the documentation in PDF format.
Alternatively, you can get xpressive directly from the boost-sandbox.
Source code is at /boost-sandbox/boost/xpressive, and the regression
test and documentation are at /boost-sandbox/libs/xpressive.
Note: this is version 0.9. Check out the "Not Yet Implemented" section
in the documentation to see why. I'll be working towards v1.0 in the
coming weeks and months, but I am confident at this point that the
interface is not likely to change. What's there is stable and solid and
ready for (ab)use.
Original announcement of xpressive:
http://lists.boost.org/MailArchives/boost/msg55623.php
Cheers,
-- Eric Niebler Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk