parser.js (1920B)
1 "use strict"; 2 3 Object.defineProperty(exports, "__esModule", { 4 value: true 5 }); 6 exports.createParser = void 0; 7 8 var _factory = require("../../utils/factory.js"); 9 10 var name = 'parser'; 11 var dependencies = ['typed', 'Parser']; 12 var createParser = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) { 13 var typed = _ref.typed, 14 Parser = _ref.Parser; 15 16 /** 17 * Create a parser. The function creates a new `math.Parser` object. 18 * 19 * Syntax: 20 * 21 * math.parser() 22 * 23 * Examples: 24 * 25 * const parser = new math.parser() 26 * 27 * // evaluate expressions 28 * const a = parser.evaluate('sqrt(3^2 + 4^2)') // 5 29 * const b = parser.evaluate('sqrt(-4)') // 2i 30 * const c = parser.evaluate('2 inch in cm') // 5.08 cm 31 * const d = parser.evaluate('cos(45 deg)') // 0.7071067811865476 32 * 33 * // define variables and functions 34 * parser.evaluate('x = 7 / 2') // 3.5 35 * parser.evaluate('x + 3') // 6.5 36 * parser.evaluate('f(x, y) = x^y') // f(x, y) 37 * parser.evaluate('f(2, 3)') // 8 38 * 39 * // get and set variables and functions 40 * const x = parser.get('x') // 7 41 * const f = parser.get('f') // function 42 * const g = f(3, 2) // 9 43 * parser.set('h', 500) 44 * const i = parser.evaluate('h / 2') // 250 45 * parser.set('hello', function (name) { 46 * return 'hello, ' + name + '!' 47 * }) 48 * parser.evaluate('hello("user")') // "hello, user!" 49 * 50 * // clear defined functions and variables 51 * parser.clear() 52 * 53 * See also: 54 * 55 * evaluate, compile, parse 56 * 57 * @return {Parser} Parser 58 */ 59 return typed(name, { 60 '': function _() { 61 return new Parser(); 62 } 63 }); 64 }); 65 exports.createParser = createParser;