7a7a0b1a56
An object oriented recursive descent parser generator framework
16 lines
832 B
Plaintext
16 lines
832 B
Plaintext
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/
|