@negrel/mep
v0.3.0
Published
MEP is a mathematical expression parser written in TypeScript.
Downloads
2
Readme
:heavy_division_sign: - MEP is a dependency free mathematical expression parser written in TypeScript.
Why ?
I needed an extensible mathematical expression parser for 1Calc
This package does the following:
- Lex mathematical expressions with custom operations, constants and functions into tokens
- Parse tokens and return an
RPN array of
numbers
/Operation
. - Compute an RPN array and return the result
Installation
Using ES modules:
import * mep from "https://deno.land/x/[email protected]/mod.ts";
Using npm:
$ npm install @negrel/mep
You can now import mep
as an ES modules or a CommonJS module.
Exemple
import { compute, registerConstant } from "@negrel/mep";
// or
// const { compute, registerConstant } = require('@negrel/mep')
console.log("Result:", compute("log2(5 * 65 + cos(PI ^ 2))"));
// Result: 8.340283256791498
registerConstant("PI2", Math.PI ** 2);
console.log("Result:", compute("log2(5 * 65 + cos(PI2))"));
// Result: 8.340283256791498
Contributing
If you want to contribute to MEP to add a feature or improve the code contact me at [email protected], open an issue or make a pull request.
:stars: Show your support
Please give a :star: if this project helped you!
:scroll: License
MIT © Alexandre Negrel