kondrak / tinyexpr-rs

Tiny recursive descent expression parser, compiler, and evaluation engine for math expressions.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tinyexpr-rs

Crates.io Documentation CI Coverage Status

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.

Documentation

Usage

# Cargo.toml
[dependencies]
tinyexpr = "0.1"

Example

extern crate tinyexpr;

fn main()
{
    // parse the expression and fetch result
    let r = tinyexpr::interp("2+2*2").unwrap();

    // should print "6"
    println!("{:?}", r);
}

Build instructions

cargo build
cargo run --example tinyexpr

Todo

  • support custom user functions
  • support functions taking more than 2 parameters
  • support closures

License

Licensed under either of

About

Tiny recursive descent expression parser, compiler, and evaluation engine for math expressions.

License:MIT License


Languages

Language:Rust 100.0%