Tiny recursive descent expression parser, compiler, and evaluation engine for math expressions.
This is a WIP port of TinyExpr to Rust. Current release only supports built-in system functions (trigonometry, algebraic operations, constants, etc.). See the tests
module for more examples.
# Cargo.toml
[dependencies]
tinyexpr = "0.1"
extern crate tinyexpr;
fn main()
{
// parse the expression and fetch result
let r = tinyexpr::interp("2+2*2").unwrap();
// should print "6"
println!("{:?}", r);
}
cargo build
cargo run --example tinyexpr
- support custom user functions
- support functions taking more than 2 parameters
- support closures
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)