Rust Parser

Open-source Rust projects categorized as Parser

Top 23 Rust Parser Projects

  • swc

    swc is a super-fast compiler written in rust; producing widely-supported javascript from modern standards and typescript.

    Latest mention: Thank you TS 4.1.3! Type-safe infinite depth lookups | reddit.com/r/typescript | 2021-01-04

    also i've heard of this project but never tried it https://github.com/swc-project/swc

  • nom

    Rust parser combinator framework

    Latest mention: Would Rust secure cURL? | reddit.com/r/rust | 2021-01-17

    The first useful bit of Rust I wrote was a parser using https://github.com/Geal/nom

  • pest

    The Elegant Parser

  • lalrpop

    LR(1) parser generator for Rust

  • RSLint

    A (WIP) Extremely fast JavaScript and TypeScript linter and Rust crate

    Latest mention: Rusticles #15 - Wed Oct 14 2020 | dev.to | 2020-10-14

    RDambrosio016/RSLint (Rust): A (WIP) Extremely fast JavaScript linter and Rust crate

  • combine

    A parser combinator library for Rust

  • rust-csv

    A CSV parser for Rust, with Serde support.

  • rust-peg

    Parsing Expression Grammar (PEG) parser generator for Rust

    Latest mention: Rust is the second most used language for Advent of Code, after Python | reddit.com/r/rust | 2020-12-31

    I don't really know that much about parsing and grammars, other than what I've learned about regular languages and expressions and context-free languages in a standard Theory of Comp course from my university. I basically just learned peg by reading the Wikipedia article on PEGs, reading the crate documentation to understand the syntax, and then looking at some of the peg examples on their GitHub to understand how it works in practice.

  • lol-html

    Low output latency streaming HTML parser/rewriter with CSS selector-based API

    Latest mention: Problems with building a backend app in Rust in 2020 | reddit.com/r/rust | 2020-12-21

    Cloudflare has open sourced lol-html, a "Low output latency streaming HTML parser/rewriter with CSS selector-based API". Is that what you are looking for?

  • git-journal

    The Git Commit Message and Changelog Generation Framework :book:

  • json-rust

    JSON implementation in Rust

  • pom

    PEG parser combinators using operator overloading without macros.

  • chomp

    A fast monadic-style parser combinator designed to work on stable Rust.

  • oak

    A typed parser generator embedded in Rust code for Parsing Expression Grammars

  • bnf

    Parse BNF grammar definitions

  • mailparse

    Rust library to parse mail files

  • fast-float-rust

    Super-fast float parser in Rust

    Latest mention: fast-float - a super-fast float parser in Rust | reddit.com/r/rust | 2021-01-10

    I've already done that (just pushed it - here).

  • queryst

    Rust query string parser with nesting support

  • endbasic

    BASIC interpreter with a REPL and a web interface written in Rust

    Latest mention: Show HN: EndBASIC 0.4 – A web BASIC interpreter written in Rust | news.ycombinator.com | 2020-12-25

    Hello everyone!

    For a few years, I have been thinking about how to teach coding to my young kids and I have routinely reminisced my own experience of 30+ years ago. For me, it all stared with the "simple" Amstrad CPC 6128 computer and its interactive BASIC language, and I think such a limited environment was pretty good in teaching me the fundamentals.

    Based on that, I set up a Raspberry Pi with DOSBox and QuickBASIC 4.5 for them, and they were actually quite interested in what they could achieve. But it felt a bit clunky for this day and age, especially because this did not work on a tablet so they had to be tied to a desk they are not used to.

    Back in March, when the COVID quarantine started in NYC, the thought crossed my mind: "how hard can it be to build my own BASIC interpreter?". As it turns out: not a lot but also not so little! Since then, I have been churning some code in my very limited spare time and have come up with a BASIC interpreter in Rust that is somewhat usable.

    The interpreter runs on pretty much any system (tested on Linux, macOS, and Windows), and, thanks to Rust's WASM target, also runs on the web. This latter part is really the most exciting part as is what allows the interpreter to be drive-tested by anyone with ease and makes it run on the iPad the kids use.

    Just today, I published the 0.4 release so I thought of posting this announcement. It's still pretty incomplete, but it now has a few built-in demos included. If you try it out, there is code "right there" that you can edit and play with to get a sense of what this thing can do.

    Without further ado:

    * Release announcement: https://jmmv.dev/2020/12/endbasic-0.4.html

    * Live interpreter: https://endbasic.jmmv.dev/

    * Project page: https://github.com/jmmv/endbasic/

    Enjoy and merry Xmas if that's your thing!

  • zero

    A Rust library for zero-allocation parsing of binary data.

  • inquerest

    url parameter parser for rest filter inquiry

  • bfc-rs

    Brainfuck compiler for x86-64 Linux implemented in Rust.

    Latest mention: What's everyone working on this week (1/2021)? | reddit.com/r/rust | 2021-01-04

    Finished BFC-RS, an optimizing Brainfuck compiler I've already made a post about here. There's still more stuff that could be done, but I've decided to call it a day since I'm not going to have the time to develop it anytime soon. Contributions are welcome, though.

  • pkginfo-rs

    Rust implementation for reading Arch linux packages informations

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).

Index

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

Project Stars
1 swc 10,267
2 nom 4,758
3 pest 2,141
4 lalrpop 1,555
5 RSLint 1,316
6 combine 891
7 rust-csv 889
8 rust-peg 801
9 lol-html 544
10 git-journal 444
11 json-rust 385
12 pom 307
13 chomp 203
14 oak 127
15 bnf 120
16 mailparse 97
17 fast-float-rust 66
18 queryst 51
19 endbasic 48
20 zero 38
21 inquerest 25
22 bfc-rs 3
23 pkginfo-rs 0