Convert math expressions between postfix (RPN) and infix notations and evaluate them
npm install infix-rpn-eval!master






A JavaScript Implementation of Edsger Dijkstra's Shunting-yard algorithm. Works in Node.js and web browsers.
``bash`
$ npm install infix-rpn-eval
> Tokens must be space-separated! Unary - goes with its operand, e.g. -4
`js
var infixRpnEval = require("infix-rpn-eval");
infixRpnEval.toPostfix('2 + 3 3'); // '2 3 3 +'
infixRpnEval.toInfix('2 3 3 +'); // '2 + 3 3'
infixRpnEval.evaluatePostfix('2 3 3 * +'); // 11
infixRpnEval.evaluateInfix('2 + 2 * 2'); // 6
infixRpnEval.evaluateInfix('a + b', {
evaluateMathConstants: {
// default
pi: Math.PI,
tau: Math.PI * 2,
e: Math.E,
// custom
a: 100,
b: 150
}
}); // 250
``