Rust Parsing

Open-source Rust projects categorized as Parsing

Top 21 Rust Parsing Projects

  • tree-sitter

    An incremental parsing system for programming tools

    Project mention: An incremental parsing system for programming tools | news.ycombinator.com | 2023-05-27
  • lightningcss

    An extremely fast CSS parser, transformer, bundler, and minifier written in Rust.

    Project mention: I'm fed up with it, so I'm writing a browser | news.ycombinator.com | 2023-09-22

    Would you consider using some libraries in your project? There are lots of good ones in the Rust ecosystem, and many of them are not part of any existing browsers.

    For example:

    - https://github.com/servo/html5ever (HTML parsing - note: this is used in Servo)

    - https://github.com/parcel-bundler/lightningcss (CSS parsing)

    - https://github.com/DioxusLabs/taffy (web layout)

    - https://github.com/pop-os/cosmic-text (text layout and rendering)

    Obviously you should be free to work on whatever you like, but just as a benchmark on the scope of your project: I spent ~6 months implementing just the CSS Grid algorithm in Taffy last year. An entire browser from literal scratch is probably a 10 year project for one person.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • pest

    The Elegant Parser (by pest-parser)

    Project mention: Jasmine, A rust-like programming language that compiles to Java | /r/ProgrammingLanguages | 2023-08-31

    I had recently completed the first year of my Computer Science class at school and will begin my second year soon. My schools' class forces the use of Java programming language, and I absolutely hated it. So, over the course of a little less than a month, I wrote my own programming language, in Rust (objectively best programming language), using pest, to be as similar to Rust as possible, but compiling to Java.

  • logos

    Create ridiculously fast Lexers (by maciejhirsz)

    Project mention: Beating the fastest lexer generator in Rust | /r/rust | 2023-07-11

    This is mighty impressive! I've been trying to get some motivation for the mythical rewrite of the proc macro in Logos, and this might just do it for me :D. I'll have a proper look later today and see if any of your findings have something that can be generalized. Also really surprised to see aarch64 doing better than x86_64 since the latter is what I've been optimizing for!

  • rust-peg

    Parsing Expression Grammar (PEG) parser generator for Rust

    Project mention: Letlang — Roadblocks and how to overcome them - My programming language targeting Rust | /r/rust | 2023-06-07

    Rust is a very nice langage for implementing compilers, and has a nice ecosystem for it (logos, rust-peg, lalrpop, astmaker -- this one is mine --, etc...).

  • pom

    PEG parser combinators using operator overloading without macros.

  • binjs-ref

    Reference implementation for the JavaScript Binary AST format

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

  • rust-lexical

    Fast numeric to- and from-string conversion routines.

  • tokay

    Tokay is a programming language designed for ad-hoc parsing, inspired by awk.

    Project mention: The Awk Programming Language, Second Edition | news.ycombinator.com | 2023-06-29

    [0]: https://github.com/tokay-lang/tokay

  • mail-parser

    Fast and robust e-mail parsing library for Rust (by stalwartlabs)

    Project mention: All-in-one JMAP, IMAP and SMTP server written in Rust | news.ycombinator.com | 2023-07-17

    This is a new repository combining multiple older repositories. Development started on October 2021, here is the first commit: https://github.com/stalwartlabs/mail-parser/commit/c5ed27bb1...

  • html5gum

    A WHATWG-compliant HTML5 tokenizer and tag soup parser

    Project mention: Ask HN: A fast, Rust HTML parser that works? | news.ycombinator.com | 2023-02-23

    So I'm doing some web scraping in Rust, and so I will need to parse HTML. [scraper](https://docs.rs/scraper/latest/scraper/) (which uses [html5ever](https://github.com/servo/html5ever)) is doing fine except that it's the bottleneck of my application.

    So I need a faster parser. I've tried [tl](https://docs.rs/tl/latest/tl/) which would've been perfect except that it doesn't actually work on the HTML I have. When I try to `query_selector` the elements I need, it returns nothing.

    [Kuchiki](https://docs.rs/kuchiki/latest/kuchiki/) is abandonded.

    I couldn't figure out how to get [lol-html](https://github.com/cloudflare/lol-html) to work for me (it's designed for re-writing HTML, whatever that means). It doesn't seem to have an API to extract the inner text of an element.

    [html5gum](https://github.com/untitaker/html5gum) seems to be just an HTML tokenizer, or otherwise just too low-level. I have not yet tried [quick-xml](https://github.com/tafia/quick-xml/) but judging from the README, it's pretty low-level too. I mean, if these are the only options left then I will try them. Otherwise, I would love to use a parser that's faster but as ergonomic as `scraper` or `tl`.

    At this point, I would be happy with an Lxml bridge/port of some sort. I don't need to mutate HTML, just parse and read data from it.

  • jsonpath

    JsonPath engine written in Rust. Webassembly and Javascript support too (by freestrings)

  • meta

    A DSL parsing library for human readable text documents (by PistonDevelopers)

  • configure_me

    A Rust library for processing application configuration easily

  • dpar

    Neural network transition-based dependency parser (in Rust)

  • faster-pest

    A generator for high-performance Pest parsers, bringing your grammar to the next level

    Project mention: Rust Faster-Pest – PEG Parser – 705% faster than Pest and 137% faster than Nom | news.ycombinator.com | 2023-07-18
  • untex

    Understand and manipulate TeX files with ease

    Project mention: UnTeX - Parsing and formatting TeX documents with Rust - Looking for help | /r/rust | 2023-01-27

    Currently, UnTeX is still in beta, and only few commands are implemented. I recommend you read the README or the docs if you are interested in knowing more :-) I think the core foundations are already there.

  • peginator

    PEG parser generator for creating ASTs in Rust

    Project mention: Should I revisit my choice to use nom? | /r/rust | 2023-04-02

    I guess this a good place to plug my PEG parser generator.

  • sgf-parse

    SGF parsing library for Rust.

    Project mention: Side simple project in Rust | /r/rust | 2022-11-15

    a parsing library for Go game records used in both of the above,

  • panini

    A general-purpose parser framework in Rust.

  • props-rs

    A crate to parse the .properties file format

  • Revelo Payroll

    Free Global Payroll designed for tech teams. Building a great tech team takes more than a paycheck. Zero payroll costs, get AI-driven insights to retain best talent, and delight them with amazing local benefits. 100% free and compliant.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-09-22.

Rust Parsing related posts

Index

What are some of the best open-source Parsing projects in Rust? This list will help you:

Project Stars
1 tree-sitter 13,247
2 lightningcss 4,864
3 pest 4,020
4 logos 2,278
5 rust-peg 1,305
6 pom 452
7 binjs-ref 421
8 rust-lexical 271
9 tokay 217
10 mail-parser 206
11 html5gum 140
12 jsonpath 104
13 meta 88
14 configure_me 54
15 dpar 41
16 faster-pest 35
17 untex 24
18 peginator 21
19 sgf-parse 10
20 panini 6
21 props-rs 1
Static code analysis for 29 languages.
Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
www.sonarqube.org