All Projects → LPeter1997 → Cppcmb

LPeter1997 / Cppcmb

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

Projects that are alternatives of or similar to Cppcmb

Dart Petitparser
Dynamic parser combinators in Dart.
Stars: ✭ 266 (+146.3%)
Mutual labels:  parser-library, parser
Dev Blog
翻译、开发心得或学习笔记
Stars: ✭ 3,929 (+3537.96%)
Mutual labels:  parser-combinators, parser
Arcsecond
✨Zero Dependency Parser Combinator Library for JS Based on Haskell's Parsec
Stars: ✭ 317 (+193.52%)
Mutual labels:  parser-combinators, parser
ex spirit
No description or website provided.
Stars: ✭ 26 (-75.93%)
Mutual labels:  parser-combinators, parser-library
Parsley
An exceptionally fast parser combinator library for Scala
Stars: ✭ 31 (-71.3%)
Mutual labels:  parser-combinators, parser
leftry
Leftry - A left-recursion enabled recursive-descent parser combinator library for Lua.
Stars: ✭ 32 (-70.37%)
Mutual labels:  parser-combinators, parser-library
Mercury Parser
📜 Extract meaningful content from the chaos of a web page
Stars: ✭ 4,025 (+3626.85%)
Mutual labels:  parser-library, parser
Baby
Create models from a JSON file, even a Baby can do it.
Stars: ✭ 214 (+98.15%)
Mutual labels:  parser-combinators, parser
Combine
A parser combinator library for Rust
Stars: ✭ 906 (+738.89%)
Mutual labels:  parser-combinators, parser
Chthollylang
A simple implementation of Yet another script language Chtholly
Stars: ✭ 19 (-82.41%)
Mutual labels:  parser-combinators, parser
metal
A Java library for parsing binary data formats, using declarative descriptions.
Stars: ✭ 13 (-87.96%)
Mutual labels:  parser-combinators, parser-library
Parsing With Haskell Parser Combinators
🔍 A step-by-step guide to parsing using Haskell parser combinators.
Stars: ✭ 72 (-33.33%)
Mutual labels:  parser-combinators, parser
autumn
A Java parser combinator library written with an unmatched feature set.
Stars: ✭ 112 (+3.7%)
Mutual labels:  parser-combinators, parser-library
microparsec
⭐ A performant Nim parsing library built for humans.
Stars: ✭ 26 (-75.93%)
Mutual labels:  parser-combinators, parser-library
Parsica
Parsica - PHP Parser Combinators - The easiest way to build robust parsers.
Stars: ✭ 223 (+106.48%)
Mutual labels:  parser-combinators, parser
Kgt
BNF wrangling and railroad diagrams
Stars: ✭ 312 (+188.89%)
Mutual labels:  parser-library, parser
Swiftparsec
A parser combinator library written in the Swift programming language.
Stars: ✭ 192 (+77.78%)
Mutual labels:  parser-combinators, parser
Goparsec
Parser combinator in Go. If there are any cross platform issues or backward compatibility issues, please reach out.
Stars: ✭ 198 (+83.33%)
Mutual labels:  parser-combinators, parser
Nom
Rust parser combinator framework
Stars: ✭ 5,987 (+5443.52%)
Mutual labels:  parser-combinators, parser
Substitution Schedule Parser
Java library for parsing schools' substitution schedules. Supports multiple different systems mainly used in the German-speaking countries, including Untis, svPlan, and DAVINCI
Stars: ✭ 33 (-69.44%)
Mutual labels:  parser-library, parser

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].