MEP is a mathematical expression parser written in TypeScript.
npm install @negrel/mepI 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
Using ES modules:
``js`
import * mep from "https://deno.land/x/http_ece@v0.1.0/mod.ts";
Using npm:
`shell`
$ npm install @negrel/mep
You can now import mep as an ES modules or a CommonJS module.
`js
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
``
If you want to contribute to MEP to add a feature or improve the code contact me
at negrel.dev@protonmail.com, open an
issue or make a
pull request.
Please give a :star: if this project helped you!

#### :scroll: License
MIT © Alexandre Negrel