Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add parser library #85

Open
azzamsa opened this issue Jun 19, 2023 · 2 comments
Open

add parser library #85

azzamsa opened this issue Jun 19, 2023 · 2 comments

Comments

@azzamsa
Copy link

azzamsa commented Jun 19, 2023

Hi.

Is there any chance to add parser library. Such as nom and pest?

Thanks!

@azzamsa azzamsa changed the title add parser libraru add parser library Jun 19, 2023
@epage
Copy link

epage commented Jun 19, 2023

https://github.com/rosetta-rs/parse-rosetta-rs has a basic comparison of some parsers for possibly linking to for such an item / list

@epage
Copy link

epage commented Jul 14, 2023

An interesting aspect to this is deciding what library or libraries to include

Looking over my prior link, we can divide it by style

  • parser combinators like nom, chumsky, and winnow
  • grammar files like pest
  • ???

Then there is by download count. Of those in the millions, there are

  • nom which is widely used but development is a "once every couple years" mode with the maintainer taking the
    approach "anything you need can be worked around on your side"
  • winnow but its download count is almost exclusively from being a dependency of toml
  • pest which I think is back under active development again as it went a period without attention from the maintainers
  • combine which doesn't get much active development

Application

  • programming language: chumsky , pest, and hopefully winnow
  • textual data: everything?
  • binary: nom and winnow

Nebulous "up and coming"

  • chumsky is getting a lot of attention with its focus on programming language parsing
  • yap I find fascinating just for its simplicity
  • winnow is the fastest and has a strong emphasis on ease-of-use (disclosure: I'm the author)

One that is not on parse-rosetta-rs that could be of interested for a limited set of use cases is logos as its just a lexer but sounds intriguing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants