I have been working on a parser-combinator library called ParserObjects. The library is approaching a 3.0.0 release, and I am looking for some feedback. The library has borrowed some inspiration from a number of sources including Microsoft Kusto, the JavaScript Arcsecond library, and a variety of blogs and other projects. I have also been using the library in my own projects, ranging from the very small (parsing command-line arguments) to the very large (full parsers for C# and SQL are in development), and I have been using those experiences to help refine ParserObjects to make it better and more feature-full.

The library has a very strong focus on usability, readability and simplicity. With a couple using statements at the top of your file, intellisense will be able to help guide you through a lot of the options and capabilities. There are a lot of generics, but the classes and methods have been written in a way to maximize type inference to help keep code clean.

I hope it can be a bit of an on-ramp for programmers who need to parse data but aren’t experts in parser theory or the algorithms which make parsers work. To this end, the library includes the “standard” set of classical combinators, but also a variety of additional tools and features to help with general usability. It also includes pre-built parsers for a number of common programming tasks (parsing strings and integers, etc), a Pratt implementation for operator precidence, and a custom Regex engine.

If you have some time to take a look and give a little bit of feedback, I would really appreciate it. I’m hoping to be able to cut the 3.0.0 release early in 2021 if everything goes well. Some links:
Source Code on Github
Documentation Website
Examples section of the Test Suite
nuget Package
Thanks for looking, and have a Happy New Year!

source