Re:What the heck is a parser-combinator?
by DominoTree on Wednesday June 21, 2017 @12:02AM
(#14600562)
I've used Nom to parse a couple RFC-based protocols now, and I'm amazed at how easy and performant the result ends up being.
There's a great walk-through of using it here, including fuzzing your parsers to make sure they're solid. https://github.com/Geal/langsec-2017-hackathon-code
Re:What the heck is a parser-combinator?
by beefsack on Wednesday June 21, 2017 @02:34AM
(#14601320)
Geal is very helpful too, he pops up around the place in the Rust community and is responsive on the nom Gitter channel.
Re:What the heck is a parser-combinator?
by jjwiseman on Wednesday June 21, 2017 @02:53AM
(#14601444)
Instaparse - Clojure/Clojurescript https://github.com/Engelberg/instaparse
Re:What the heck is a parser-combinator?
by leeoniya on Wednesday June 21, 2017 @03:52AM
(#14601759)
Nearly is pretty slow.
check out Chevrotain
angstrom - OCaml parser combinators built for speed and memory efficiency https://github.com/inhabitedtype/angstrom
Re:What the heck is a parser-combinator?
by Matthias247 on Wednesday June 21, 2017 @05:27AM
(#14602267)
Add fparsec for F#/.Net http://www.quanttec.com/fparsec/
I used that 2 times and found it pretty easy to use, once I had grasped all the operators (like .>>, .>>., <|>, etc.)
Re:What the heck is a parser-combinator?
by skocznymroczny on Wednesday June 21, 2017 @03:20AM
(#14601605)
Pegged - PEG generator implemented in the D programming language https://github.com/PhilippeSigaud/Pegged , works in run-time or compile-time
Re:What the heck is a parser-combinator?
by tommikaikkonen on Wednesday June 21, 2017 @12:33AM
(#14600673)
I haven't tried pyparsing, but I enjoyed implementing a simple DSL with funcparserlib having no previous experience with parser combinators: https://github.com/vlasovskikh/funcparserlib
The library has a well-written tutorial that doesn't require previous knowledge about parser combinators.
PEGTL - C++ Parsing Expression Grammar Template Library https://github.com/taocpp/PEGTL
Parboiled - Java & Scala PEG Library https://github.com/sirthias/parboiled
Nom - Rust parser combinator framework https://github.com/Geal/nom
Nearley - JavaScript parser toolkit https://github.com/Hardmath123/nearley
Neotoma - Erlang library and packrat parser-generator for PEGs https://github.com/seancribbs/neotoma