Function parse #

Parse an expression. Returns a node tree, which can be evaluated by invoking node.eval();

Note the evaluating arbitrary expressions may involve security risks, see http://mathjs.org/docs/expressions/security.html for more information.

Syntax #

math.parse(expr)
math.parse(expr, options)
math.parse([expr1, expr2, expr3, ...])
math.parse([expr1, expr2, expr3, ...], options)

Parameters #

Parameter Type Description
expr string | string[] | Matrix Expression to be parsed
options {nodes: Object<string, Node>} Available options: - nodes a set of custom nodes

Returns #

Type Description
Node | Node[] node

Examples #

var node = math.parse('sqrt(3^2 + 4^2)');
node.compile().eval(); // 5

var scope = {a:3, b:4}
var node = math.parse('a * b'); // 12
var code = node.compile();
code.eval(scope); // 12
scope.a = 5;
code.eval(scope); // 20

var nodes = math.parse(['a = 3', 'b = 4', 'a * b']);
nodes[2].compile().eval(); // 12

See also #

eval, compile

Fork me on GitHub