#expression #expression-parser #parser

tinyexpr

数学表达式的Tiny递归下降解析器、编译器和评估引擎。TinyExpr库到Rust的移植工作正在进行中。

2个版本

使用旧Rust 2015

0.1.1 2016年12月30日
0.1.0 2016年12月30日

#85 in #expression-parser

MIT/Apache

25KB
528

tinyexpr-rs

Crates.io Documentation Build Status Build status Coverage Status

数学表达式的Tiny递归下降解析器、编译器和评估引擎。

这是TinyExpr库到Rust的移植工作正在进行中。当前版本仅支持内置系统函数(三角函数、代数运算、常量等)。请参阅tests模块以获取更多示例。

文档

用法

# 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

待办事项

  • 支持自定义用户函数
  • 支持接受超过2个参数的函数
  • 支持闭包

许可证

许可协议为以下之一

依赖项

~140KB