combine
A parser combinator library for Rust (by Marwes)
ariadne
A fancy diagnostics & error reporting crate (by zesterer)
combine | ariadne | |
---|---|---|
4 | 18 | |
1,265 | 1,565 | |
- | - | |
3.2 | 7.1 | |
21 days ago | 5 days ago | |
Rust | Rust | |
MIT License | MIT License |
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.
combine
Posts with mentions or reviews of combine.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-03-19.
-
Domain Specific Language embedded in Rust
Combine is also nice to use and actively developed.
-
Hey Rustaceans! Got an easy question? Ask here (9/2022)!
https://crates.io/crates/combine is a decent alternative to Nom. I found it much easier to pick up. I was using it to implement our generalized placeholder syntax in SQLx (which I hope to actually finish at some point): https://github.com/launchbadge/sqlx/blob/a2eda2de2462876a160982e57d73103795e34aa2/sqlx-core/src/placeholders.rs
-
Chumsky, a parser combinator crate that makes writing error-tolerant parsers with recovery easy and fun!
Nice to see support for error recovery with parser combinators! I never got to the point of adding it in combine as I swapped out my language parser(s) to use LALRPOP instead (implementing error recovery for it instead).
-
Hey Rustaceans! Got an easy question? Ask here (42/2021)!
You may want to also look at some of the popular parser combinators like nom and combine. I don't think they do what you are suggesting, though.
ariadne
Posts with mentions or reviews of ariadne.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-07-12.
-
What languages have the best error message rendering styles in the terminal?
To complement, Nushell's error rendering is done with miette (whose name is a reference to this cute meme AFAIK). There is also another notable Rust error rendering lib: ariadne. So you can get the same beautiful error rendering in your own projects :D
-
Looking for error reporting package for compilers
Hey gophers, I'm looking for something like this https://github.com/zesterer/ariadne for my compiler project, can u suggest any pkgs?
-
Is there any go library to print compiler errors?
I'm looking for something similar to this rust crate https://github.com/zesterer/ariadne, but I can't find anything. I'm just starting to play with go and I really don't know where to look.
-
COBOL deserves modern, easy to read error messages as well! | Otterkit COBOL
Because of that, we made a new modern error message system for Otterkit, which should still display useful information to experienced developers, while also being easy to read and understand for new developers. This new format was inspired by Rust's error messages, and both the Errata NuGet package and Ariadne Rust crate.
- Is there a tool to emulate rust compiler error stlye code explanations?
- Why does Rust have parameters on impl?
-
Tools for creating a programming language in rust
i really like chumsky for parsing (and it works very well with it's sister crate ariadne)
-
Small changes you can make in a rust codebase that have a significant impact
I've also been looking into https://github.com/zesterer/ariadne as I'm building a static compiler using Jinja and want to return nicer messages when there is a parsing issue.
-
Hey Rustaceans! Got a question? Ask here! (29/2022)!
If you’d like to see some examples of great error messages written by a language with a parser combinator, I recommend you check out tao, which is parsed via chumsky, and provides rust-like error messages with the help of ariadne! I have been fiddling with writing my own language for a while now, and after trying out the alternatives, I found Chumsky to be great to work with, and can not recommend it enough. There are also great examples that you can find in the repo as well!
-
When is necessary to preserve whitespaces/comments directly in a concrete syntax tree?
The major thing I'm going to do is support nicer error messages like in https://github.com/zesterer/ariadne. Then add support for language server (LSP) and shoe them interactively on editors.
What are some alternatives?
When comparing combine and ariadne you can also consider the following projects:
nom - Rust parser combinator framework
strawberry - A GraphQL library for Python that leverages type annotations 🍓
pest - The Elegant Parser
redis-rs - Redis library for rust
lalrpop - LR(1) parser generator for Rust
chumsky - Write expressive, high-performance parsers with ease.
pom - PEG parser combinators using operator overloading without macros.
chomp - A fast monadic-style parser combinator designed to work on stable Rust.
statix - lints and suggestions for the nix programming language
git-journal - The Git Commit Message and Changelog Generation Framework :book:
progge.rs - Program analysis playground for a simple, imperative language