mirror of
https://github.com/boostorg/spirit_x4.git
synced 2026-01-19 04:42:11 +00:00
11
README.md
11
README.md
@@ -13,16 +13,11 @@ For background information, see:
|
||||
|
||||
# Spirit.X4 [](https://github.com/boostorg/spirit_x4/actions/workflows/ci.yml)
|
||||
|
||||
Spirit is a set of C++ libraries for parsing and output generation implemented as
|
||||
Domain Specific Embedded Languages (DSEL) using Expression templates and Template
|
||||
Meta-Programming. The Spirit libraries enable a target grammar to be written
|
||||
exclusively in C++. Inline grammar specifications can mix freely with other
|
||||
C++ code and, thanks to the generative power of C++ templates, are immediately
|
||||
executable.
|
||||
[**Boost.Spirit.X4**](https://github.com/boostorg/spirit_x4) is a modern, header-only PEG parser combinator library for C++23. It lets you write EBNF-like grammars directly in C++ with deterministic, top-down parsing (ordered choice, lookahead, greedy repetition).
|
||||
|
||||
## Spirit.X4 (4th generation)
|
||||
X4 succeeds [Boost.Spirit.X3](https://github.com/boostorg/spirit) and is redesigned for clarity, maintainability, and performance using modern C++ features such as concepts and constexpr.
|
||||
|
||||
Work in progress; stay tuned!
|
||||
X4 scales from quick prototypes to production parsers for DSLs, data formats, and interpreters.
|
||||
|
||||
### Supported Environments
|
||||
|
||||
|
||||
@@ -1,17 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<explicit-failures-markup>
|
||||
<library name="spirit">
|
||||
<library name="spirit_x4">
|
||||
<mark-unusable>
|
||||
<toolset name="sun-5.7"/>
|
||||
<toolset name="sun-5.8"/>
|
||||
<toolset name="sun-5.9"/>
|
||||
<toolset name="sun-5.10"/>
|
||||
<toolset name="vacpp*"/>
|
||||
<toolset name="borland-*"/>
|
||||
<toolset name="cray-8.0"/>
|
||||
<toolset name="msvc-7.1*"/>
|
||||
<toolset name="clang-*-3.1*11*"/>
|
||||
<toolset name="gcc-mngw-gnu-4.3c+"/>
|
||||
<toolset name="*~gnu11*" />
|
||||
<toolset name="*~c++11*" />
|
||||
<toolset name="*~gnu14*" />
|
||||
<toolset name="*~c++14*" />
|
||||
<toolset name="*~c++17*" />
|
||||
<toolset name="*~c++20*" />
|
||||
<toolset name="*~c++2a*" />
|
||||
<toolset name="clang-*-15*" />
|
||||
<toolset name="clang-*-18*" />
|
||||
<toolset name="msvc-10.*" />
|
||||
<toolset name="msvc-11.*" />
|
||||
<toolset name="msvc-12.*" />
|
||||
<toolset name="msvc-13.*" />
|
||||
<toolset name="msvc-14.0" />
|
||||
<toolset name="msvc-14.1" />
|
||||
<toolset name="msvc-14.2" />
|
||||
</mark-unusable>
|
||||
<test name="x4_*" category="X4" />
|
||||
</library>
|
||||
|
||||
@@ -1,19 +1,22 @@
|
||||
{
|
||||
"key": "spirit",
|
||||
"name": "Spirit",
|
||||
"key": "spirit_x4",
|
||||
"name": "Spirit.X4",
|
||||
"authors": [
|
||||
"Joel de Guzman",
|
||||
"Hartmut Kaiser",
|
||||
"Dan Nuffer"
|
||||
],
|
||||
"description": "LL parser framework represents parsers directly as EBNF grammars in inlined C++.",
|
||||
"description": "A modern, header-only PEG parser combinator library for C++23.",
|
||||
"category": [
|
||||
"Container",
|
||||
"Data",
|
||||
"IO",
|
||||
"Parsing",
|
||||
"String"
|
||||
],
|
||||
"maintainers": [
|
||||
"Joel de Guzman <joel -at- boost-consulting.com>",
|
||||
"Hartmut Kaiser <hartmut.kaiser -at- gmail.com>"
|
||||
"Nana Sakisaka <sakisaka -at- lastsoft.jp>",
|
||||
"Joel de Guzman <djowel -at- gmail.com>"
|
||||
],
|
||||
"cxxstd": "03"
|
||||
"cxxstd": "23"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user