#reverse-polish-notation #rpn #calculations

bin+lib rpn-reckoner

A Reverse Polish Notation library

1 unstable release

0.1.3 Feb 8, 2023
0.1.2 Feb 8, 2023
0.1.1 Feb 8, 2023
0.1.0 Feb 8, 2023

#11 in #reverse-polish-notation

MIT license

10KB
105 lines

RPN-Reckoner

DATE: Feb. 8th, 2023

This package provides a Rust library and
an executable for doing Reverse Polish Notation (: RPN) calculations.

Library

This package's library allows for evaluating RPN expressions
by using the function rpn_reckoner::eval(expression: String) -> Result<f64, String>.
This function takes an RPN expression as a string argument and returns a result,
either the evaluated value as a float or an error message as a string.

Installation

cargo add rpn_reckoner

Example1

extern crate rpn_reckoner;


fn main() {
    let expression = String::from("3 2 +");
    let solution = rpn_reckoner::eval(expression).unwrap();
    println!("{}", solution); // -> 5
}

Example2

extern crate rpn_reckoner;


fn main() {
    let expression = String::from("6 4 ! +");
    let solution = rpn_reckoner::eval(expression).unwrap();
    println!("{}", solution); // -> 30
}

Read-Eval-Print Loop (: REPL)

git clone https://github.com/Rei-Ashine/rpn-reckoner.git

To start the REPL for evaluating RPN expressions,
the command cargo run should be run in the terminal.

REPL

Directory Structure

.
├── README.md
├── Cargo.toml
├── LICENSE
└── src
    ├── lib.rs
    ├── main.rs
    ├── operation.rs
    └── test.rs

===============================================================================
 Language            Files        Lines         Code     Comments       Blanks
===============================================================================
 TOML                    1           20           17            0            3
-------------------------------------------------------------------------------
 Markdown                1           46            0           29           17
 |- Rust                 1           16           12            0            4
 (Total)                             62           12           29           21
-------------------------------------------------------------------------------
 Rust                    4          145          105            8           32
 |- Markdown             1           27            0           27            0
 (Total)                            172          105           35           32
===============================================================================
 Total                   6          211          122           37           52
===============================================================================

Reference

ref1

License

No runtime deps