C++ template-based parser library similar to Boost.Spirit