/CppCmb

A generic C++17 parser-combinator library with a natural grammar notation.

Primary LanguageC++MIT LicenseMIT

alt text

What is CppCmb?

CppCmb is a single-header C++17 monadic parser-combinator library that aims for genericity and simplicity. It tries to get very close to grammar notations, like BNF.

How do I compile/install it?

It's a single header file that you can just drop into your project and use it straight away.

How do I use it?

See the wiki for documentation and tutorial. See examples folder for usage.

How can I contribute?

You can open issues, or do a pull-request if you've implemented/fixed something.

To do:

  • Add more examples
  • Test and make it work on MSVC (currently only worked with GCC, untested on everything else)

Roadmap:

  • Error reporting and a way to describe parsers to the user
  • Testing and fuzzing the library