ParserObjects
Lexepars
ParserObjects | Lexepars | |
---|---|---|
1 | 1 | |
6 | 7 | |
- | - | |
8.3 | 0.0 | |
about 1 month ago | over 2 years ago | |
C# | C# | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ParserObjects
-
ParserObjects Parser Combinator Library for .NET
It uses a combinators approach, so every parser is an object and you compose them together like any other object graph. It's all pure C# code with no separate code generation step like ANTLR uses. The test suite has several examples, but the easiest one to jump into is the JSON parsing example: Lexer and Parser. It's not exactly the same as BNF, but if you squint a little it should be just as easy to read. pseudo-BNF:
Lexepars
-
Would Someone ELI5 Parser Combinators?
Unfortunately I'm struggling. The first problem is choosing which combinator library to go with: Sprache, Superpower, Parlot, Pidgen, Lexepars, etc. etc. Some look simpler to use than others, others more performant, others come with useful parsers built in.
What are some alternatives?
AngleSharp - :angel: The ultimate angle brackets parser library parsing HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specifications.
parser_builder - Lightweight template-based parser build system. Simple prototyping. Comfortable debugging. Effective developing.
Pidgin - A lightweight and fast parsing library for C#.
parser - A lexer and parser for GraphQL in .NET
kdl - the kdl document language specifications
Superpower - A C# parser construction toolkit with high-quality error reporting
NumberStones - Digital only clicky clack math rocks.
matcheroni - A minimalist single-header library for building pattern-matchers, lexers, and parsers.
FParsec.CSharp - A thin C# wrapper for FParsec.
ExcelDataReader - Lightweight and fast library written in C# for reading Microsoft Excel files