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. Learn more →
Top 21 Rust Parsing Projects
-
Project mention: An incremental parsing system for programming tools | news.ycombinator.com | 2023-05-27
-
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.
-
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.
-
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!
-
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...).
-
-
-
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.
-
-
-
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...
-
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.
-
-
-
-
-
Project mention: Rust Faster-Pest – PEG Parser – 705% faster than Pest and 137% faster than Nom | news.ycombinator.com | 2023-07-18
-
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.
-
I guess this a good place to plug my PEG parser generator.
-
a parsing library for Go game records used in both of the above,
-
-
-
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.
Rust Parsing related posts
- Jasmine, A rust-like programming language that compiles to Java
- LightningCSS Benchmark
- Restoration of the pest3 work effort 🙌 · pest-parser/pest · Discussion #885
- Letlang — Roadblocks and how to overcome them - My programming language targeting Rust
- Is there a pydantic.BaseSettings equivalent in rust?
- An incremental parsing system for programming tools
- pest v2.6.0 released with a new meta-grammar feature (node tags)
-
A note from our sponsor - SonarQube
www.sonarqube.org | 1 Oct 2023
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 |