54 Commits

Author SHA1 Message Date
jos
d9f237d29b Added support in the expression parser for mathematical alphanumeric symbols (see #265) 2015-09-25 20:47:38 +02:00
jos
0dfc8d1d3e Fixed inconsistent parsing of implicit multiplication (see #322) 2015-09-13 21:40:14 +02:00
jos
efcd0cc1fe Fixed #463: inconsistent handling of implicit multiplication 2015-09-13 21:13:35 +02:00
jos
33370bfe73 Fied #265: added support for unicode characters in the expression parser: greek letters and latin letters with accents 2015-08-10 21:04:49 +02:00
jos
2353c4a61e Renamed folders util to utils 2015-07-18 13:22:38 +02:00
jos
57a47b3b5a Moved pure collection functions to lib/util/collection 2015-07-18 12:53:07 +02:00
jos
493f34ec7b Split collection.js into separate (pure) functions 2015-07-18 11:47:38 +02:00
jos
6c7bf4acf0 Removed boolean, string, and null from the list with argument types, only leaving the directly supported types (which types can be converted to supported types is determined externally). Consistently renamed primitive types lower case (boolean, string, number, null) and non-primitive types uppercase (Complex, BigNumber, Function, Array, ...). 2015-05-20 21:08:26 +02:00
Max Bruckner
dd0a5e3a68 Parse parentheses into ParenthesisNodes 2015-05-07 10:12:41 +02:00
jos
758107428c Moved collection.js and Matrix.js under ./lib/type/matrix, moved construction functions matrix.js and sparse.js to ./lib/type/matrix/function, and created an index file. 2015-05-05 12:00:07 +02:00
Max Bruckner
1c76430dda Get rid of 'instanceof' for Nodes (except for constructors) 2015-04-28 10:09:19 +02:00
jos
d3d3212633 Refactored all nodes into factory functions (see #342) 2015-04-26 21:25:31 +02:00
jos
8cfabebdfb Oops. committed missing files 2015-03-31 22:23:32 +02:00
Rogelio J. Baucells
b4463d9ef3 Initial require() changes 2015-03-04 13:53:32 -05:00
jos
97163135b2 Implemented xor operator ^| in the expression parser 2014-12-25 15:45:54 +01:00
jos
73b67bfc09 Removed logical not operator ! (so now we just have logical operators and, not, or, xor). 2014-12-25 14:21:16 +01:00
jos
2614ca6203 Added docs for xor, removed docs of _divide 2014-12-25 14:11:15 +01:00
jos
af08c269f3 Added operators &, |, <<, >>, >>> not, and, or to the expression parser 2014-12-23 16:25:32 +01:00
Favian Contreras
2a5b242091 Added boolean not to parser, and added corresponding test cases. 2014-12-17 01:14:33 -08:00
Favian Contreras
6c1197f646 Added '~' to the parser. 2014-12-15 03:43:10 -08:00
jos
92627f2c94 Nodes for a BlockNode must now be passed via the constructor instead of via a function add 2014-11-13 21:54:41 +01:00
jos
423909e6f1 Changed constructor of RangeNode to new RangeNode(start: Node, end: Node [, step: Node]). 2014-11-13 21:25:37 +01:00
jos
72a1b03850 Documented expression tree API. Some internal refactoring in nodes. 2014-11-12 22:30:15 +01:00
jos
db60d95438 Fixed 2e giving a syntax error instead of being parsed as 2 * e (see #229) 2014-11-08 15:27:22 +01:00
jos
c466c305c7 Fixed a precedence issue with the unit conversion operator 2014-08-23 10:48:00 +02:00
jos
1b1bb8ef7f Fixed a precedence issue with the range operator 2014-08-23 10:32:32 +02:00
jos
40b470dc96 Released version 0.27.0 2014-08-21 20:40:28 +02:00
jos
fb68d73576 Fixed a bug in initializing of the parser 2014-08-17 22:32:31 +02:00
jos
1c96d1ee9d Expressions in the expression parser can now be spread over multiple lines 2014-08-17 22:24:57 +02:00
jos
e5d14ca3dd Some refactoring of the FunctionNode 2014-08-16 11:13:24 +02:00
jos
6b833a581c Renamed FunctionNode to FunctionAssignmentNode, and renamed ParamsNode to FunctionNode for more clarity (see #203) 2014-08-03 21:13:24 +02:00
jos
59de16801e Renamed function category "Comparison" with "Relational" 2014-07-20 12:40:34 +02:00
jos
40986a1325 Using strict mode now in all files (added 'use strict'; on top of every file) 2014-07-18 23:19:14 +02:00
jos
037e022905 Some fixes in operator precedence 2014-07-01 14:06:44 +02:00
jos
4645529f40 Removed function ifElse 2014-06-30 14:52:54 +02:00
jos
8ad1b274e7 Removed unreachable error message 2014-06-30 13:51:09 +02:00
jos
5e1cfbf545 Implemented implicit multiplication. Fixed a bug with multiplying non-valued temperatures with a number 2014-06-30 13:43:50 +02:00
jos
7c761e390a Refactored ConstantNode to make it more flexible to various types of input 2014-06-23 11:51:01 +02:00
jos
a9226ef70d Fixed #187: changed the behavior of the conditional operator (a ? b : c) to lazy evaluation. 2014-06-20 21:14:58 +02:00
jos
9f346f19bc Changed signature of math.parse(expr, nodes) to math.parse(expr, options) 2014-06-10 21:35:06 +02:00
jos
875fa8e60c Changed behavior of equal and unequal back to element wise, added function deepEqual. 2014-06-09 18:03:54 +02:00
jos
ced18ecfca Implemented functions dotEqual and dotUnequal, renamed functions smallereq to smallerEq and largereq to largerEq (all functions are now camelcase) 2014-06-09 14:07:21 +02:00
jos
0ae566db8d Renamed functions edivide, emultiply, and epow to dotdivide, dotmultiply, and dotpow respectively. 2014-06-09 11:09:06 +02:00
jos
91cdad78b7 Removed automatic assignment of expression results to variable ans 2014-06-08 21:55:38 +02:00
jos
3399909318 Implemented unary plus 2014-06-08 20:49:52 +02:00
jos
abf1b02ee9 Renamed function unary to unaryminus. Documented and tested constant phi. 2014-06-08 20:12:07 +02:00
jos
3276b036a6 Fixed #172: parser not being able to evaluate an exponent followed by a unary minus like 2^-3, and a transpose followed by an index like [3]'[1]. 2014-05-13 20:57:32 +02:00
jos
da762e4706 Improved errors thrown by function parse 2014-04-25 17:21:05 +02:00
josdejong
ad554ef1f7 Updates and fixes to work with a different BigNumber instance per math.js instance 2014-04-05 22:42:03 +02:00
josdejong
b3ab923a69 Implemented conditional operator a ? b : c in expression parser 2014-04-01 20:49:55 +02:00