suzuran

Crates.iosuzuran
lib.rssuzuran
version0.1.1
created_at2025-10-04 21:57:10.194188+00
updated_at2025-10-05 11:30:41.174245+00
descriptionAn operator-precedence parser based on the Shunting Yard algorithm
homepage
repositoryhttps://github.com/mushitoriami/suzuran
max_upload_size
id1868431
size11,319
Komorebi Sakuramochi (mushitoriami)

documentation

README

suzuran

An operator-precedence parser based on the Shunting Yard algorithm

let mut parser = suzuran::Parser::new(["+", "*"]);
println!("{:?}", parser.parse(["1", "+", "2", "*", "3"]).unwrap());
// Operator("+", Primitive("1"), Operator("*", Primitive("2"), Primitive("3")))

parser = suzuran::Parser::new(["+", "-", "*"]);
println!("{:?}", parser.parse(["-", "(", "1", "+", "2", ")", "*", "3"]).unwrap());
// Operator("-", Placeholder, Operator("*", Parentheses(Operator("+", Primitive("1"), Primitive("2"))), Primitive("3")))
Commit count: 0

cargo fmt