parsepp is an experimental C++ library for creating custom parsers, similar to Boost.Spirit and YARD. Unlike Spirit, this framework is quite small.

parsepp is based on many insightful discussions with Colin Hirsch regarding his PEGTL library (and my subsequent variant of that code, parse0x).

In short, parsepp is a tool for writing custom parsers using template programming techniques. In some ways it is similar to the venerable lex and yacc tools, but this style of parser is much easier and safer to work with and also has no separate tokenization/parsing steps (they are done at the same time).


Public Domain. Do as you will.


See the downloads page.




Starting points...

First, see test.cpp in the source tree. Once that code makes sense, see parsepp_numeric.hpp, then parsepp_calc.hpp.

Once you're sure that you'd like to try it out, see the RulesOverview wiki page. If that doesn't scare you away, then go visit the typelists wiki page.