I’m looking to begin a project where I need to implement a query language. It’s essentially a type of database, so the program needs to accept a string input, parse it to a Abstract Syntax Tree (AST) in object form which I can then evaluate against some underlying data structures and produce a result.
I’ve been using boost’s spirit QI before in C++, and while I liked it being an inline parser and liked the feel of it I don’t think I’ve ever wrestled so much with obscure errors from a single library before in my life.
Searching the forums and online it seems most parser crates for Rust seem to be for different purposes, e.g. just parsing a file or a stream, and not producing a full AST of the result which can be passed on to the query handler. Might just be my lacking google fu of course.
Thanks in advance for any recommendations!