Skip to content

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

License

Notifications You must be signed in to change notification settings

kondrak/tinyexpr-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages