1
submitted 7 months ago by redempt@lemmy.world to c/rust@lemmy.ml

Been working on this a few months. It's inspired by previous generations of parser generators, and by my own previous work generating ast lexers from grammar files. This integrates seamlessly with the type system, allowing you to declare your syntax, extract only the data you want as variables, and evaluate them easily. And just from a simple description of your syntax, you'll get beautiful errors which visually point out structures in the input.

With this I have been able to implement a (mostly complete) JSON parser in just 12 lines of parsing logic, and a pmdas-respecting expression parser in just 6 (with one helper function to apply individual operators).

Examples available on the github repo, also now available on crates.io!

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here
this post was submitted on 06 Apr 2024
1 points (100.0% liked)

Rust Programming

8190 readers
20 users here now

founded 5 years ago
MODERATORS