Recursive-descent C++ parser generator from Parsing Expression Grammar