pest
The Elegant Parser (by pest-parser)
zero
A Rust library for zero-allocation parsing of binary data. (by nrc)
Our great sponsors
pest | zero | |
---|---|---|
42 | 0 | |
4,313 | 45 | |
2.1% | - | |
7.6 | 0.0 | |
5 days ago | about 1 year ago | |
Rust | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pest
Posts with mentions or reviews of pest.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-12-06.
-
nom > regex
And some related parser tools: - https://github.com/kevinmehall/rust-peg - https://github.com/pest-parser/pest - https://github.com/lalrpop/lalrpop
-
Jasmine, A rust-like programming language that compiles to Java
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.
-
What is the state of the art for creating domain-specific languages (DSLs) with Rust?
I second pest.rs. Using it is fairly intuitive and there's also a live playground on their website which is great for quickly developing and testing your AST (abstract syntax tree) parser for whatever language you're implementing.
I’ve been using pest for my own dsl resently. Couldn’t say if it’s state of the art or not, but it is definitely useful. https://pest.rs
-
easy way to produce a parser
Give https://pest.rs a try.
- Is there a parsing library (lexer?) which can handle generic tokens?
-
Thoughts on reimplementing an old MIDI scripting language in rust.
Maybe Pest or Nom for parsing the language.
-
Template Engine with Rust and Regex?
I haven't written any template engines, but I imagine you'd want to use a proper parser generator like nom, pest, etc. to get the statefulness you need. As the famous StackOverflow answer says, you can't parse a non-regular language with a regular expression... or at least not the kind of "no lookahead/lookbehind" regex engine Rust uses.
-
How to read binary files from the end in Rust?
But personally I would recommend something like Pest (which is still fairly popular). (Creates)
-
Advice for a web app with 3d rendering
This was in C, and there it's a pointer arithmetic nightmare. Also, this was before I had any education in writing parsers. These days I'd probably just use a parser generator like pest.
zero
Posts with mentions or reviews of zero.
We have used some of these posts to build our list of alternatives
and similar projects.
We haven't tracked posts mentioning zero yet.
Tracking mentions began in Dec 2020.
What are some alternatives?
When comparing pest and zero you can also consider the following projects:
nom - Rust parser combinator framework
lalrpop - LR(1) parser generator for Rust
rust-peg - Parsing Expression Grammar (PEG) parser generator for Rust
pom - PEG parser combinators using operator overloading without macros.
chumsky - Write expressive, high-performance parsers with ease.
combine - A parser combinator library for Rust
chomp - A fast monadic-style parser combinator designed to work on stable Rust.
serde - Serialization framework for Rust
rust-csv - A CSV parser for Rust, with Serde support.