Pupil
Arithmetic expression evaluator written in Rust.
It implements a butchered Shunting-yard algorithm.
Pupil
To build the pupil executable, run cargo build. Append the --release switch as needed for optimized builds.
It has three different use cases:
-
Interactive mode.
Enter expressions and press enter to evaluate them.
PATH/TO/CRATE/ROOT> cargo run Welcome to pupil, the arithmetic expression evaluator. Enter an expression, eg. 2 + 3, and press enter. Press ctrl-C to exit. >>> 2 + 3 5 >>> ^C -
Provide the expression to evaluate as command line arguments.
This allows to evaluate a single expression and then exit.
PATH/TO/CRATE/ROOT> cargo run -- 2 + 3 Welcome to pupil, the arithmetic expression evaluator. Ok: 5 -
Pipe input.
Evaluates every line as separate expressions and prints the result line by line.
PATH/TO/CRATE/ROOT> echo 2 + 3 | cargo run 5
Library
This library can be found on crates.io.
A practical example can be found in examples/pupil.rs.
Documentation can be found on docs.rs.
In your Cargo.toml put:
[]
= "1.0"
Usage
Simple usage:
// Create a basic environment with the default builtins
let mut env = default;
// Evaluate expressions in this environment
let result = eval;
assert_eq!;
License
Licensed under MIT License, see license.txt.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed as above, without any additional terms or conditions.