# Function parse Parse an expression. Returns a node tree, which can be evaluated by invoking node.eval(); ## Syntax ```js parse(expr) parse(expr, options) parse([expr1, expr2, expr3, ...]) parse([expr1, expr2, expr3, ...], options) ``` ### Parameters Parameter | Type | Description --------- | ---- | ----------- `expr` | string | string[] | Matrix | Expression to be parsed `options` | {nodes: Object} | Available options: - `nodes` a set of custom nodes ### Returns Type | Description ---- | ----------- Node | Node[] | node ## Examples ```js var node = parse('sqrt(3^2 + 4^2)'); node.compile().eval(); // 5 var scope = {a:3, b:4} var node = 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](eval.md), [compile](compile.md)