Pidgin
Pidgin copied to clipboard
A lightweight and fast parsing library for C#.
Hello! First, thank you for this awesome lib! I'd testing it within pet project where monsters like _ANTLR_ and _Hime_ are overkill. Declare parser with solely C# is really good...
Even though it is stated that LINQ query syntax should be avoided due to performance reduction - Is there a chance, that the documentation could be enhanced by laying out...
Hello, I have created a parsing library called [Farkle](https://teo-tsirpanis.github.io/Farkle). Its API bears a strong resemblance to parser combinators, but in contrast with ordinary parser combinator libraries like Pidgin, Sprache and...
[Parlot](https://github.com/sebastienros/parlot) is a new parser combinator library by @sebastienros . I added it for reference to JsonBench by bringing the parser from Parlot's repository. ``` ini BenchmarkDotNet=v0.12.1, OS=Windows 10.0.19042 AMD...
Is there any interest in adding parsers to support runes & text elements?
Hi! Very nice library, thanks for open-sourcing it. I noticed some odd behavior of `Parser.Labelled()`, for example, given this parser: ``` var tupleParser = LetterOrDigit.AtLeastOnceString() .Separated(Char(',')) .Between(Char('('), Char(')')) .Labelled("Tuple"); tupleParser.ParseOrThrow("(1,2,!!,3)");...
I am attempting to parse a field that is a potentially Null Terminated ASCII string with a max of 64 bytes. If there is no null terminator at the 64th...
By having next definition: ``` public Parser DefineTerm() { ... var underscore = Char('_'); var atom = Letter.Or(underscore) .Then(LetterOrDigit.Or(underscore).ManyString(), (first, rest) => first + rest) .Select(x => (Term)new Atom(x)) .Labelled("atom");...
Consider rewriting the examples as tutorials. Examples can be copy and pasted Tutorials help people understand how it works step by step
The previous AOT issue #146 has resolved the trimming warnings mentioned, but I am getting new AOT-related warnings now. Upon looking up the warning message, I was led to [IL3054](https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/warnings/il3054)....