parse0x: C++0x parser generator toolkit

"Online since May 2008!"

parse0x is an experimental parser toolkit for C++0x-compliant C++ compilers, conceptually based very much on Dr. Colin Hirsch's PEGTL library, but stripped of the error reporting facilities that library has. (This makes it much smaller and somewhat easier to extend, but also not terribly useful for tracking parsing errors.) It is similar to libraries like Boost.Spirit but is much, much smaller in scope. It requires C++0x support, which is currently only available in beta form. Try gcc 4.3.

parse0x is believed to conform to the rules of Parsing Expression Grammars (PEGs), as detailed on this Wikipedia page about PEGs (though the formalities of it are admittedly over my head).

This package's home page is:


This source code is released into the Public Domain by its author, Stephan Beal ( That is, you may take it and use it for any purpose whatsoever, commercial or otherwise.


The source tree comes with a test app (test.cpp) which shows how to do things like parse IP addresses, string literals, and various numeric types. There is also that most classic of parsing examples, a calculator.

Aside from the example code we have a very-much-unfinished introduction to parse0x and an overview of the built-in parsing rules.




See the downloads page.