aboutsummaryrefslogtreecommitdiffstats
path: root/devel/spirit/pkg-descr
blob: 35bdb4b904f2fa6529fc57bdaa1f6a0c1a3ab563 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Spirit is an object oriented recursive descent parser generator framework
implemented using template meta-programming techniques. Expression templates
allow us to approximate the syntax of Extended Backus Normal Form (EBNF)
completely in C++. Parser objects are composed through operator overloading
and the result is a backtracking LL(inf) parser that is capable of parsing
rather ambiguous grammars.

The Spirit framework enables a target grammar to be written exclusively in
C++. Inline EBNF grammar specifications can mix freely with other C++ code
and, thanks to the generative power of C++ templates, are immediately
executable. In retrospect, conventional compiler-compilers or parser-
generators have to perform an additional translation step from the source
EBNF code to C or C++ code.

WWW: http://spirit.sourceforge.net/