44 Commits

Author SHA1 Message Date
jos
9ffab397b6 Fixed #485: Scoping issue with variables both used globally as well as in a function definition 2015-11-28 21:20:25 +01: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
3f217cefdd toTex: no global configuration. Only pass around one local object 2015-05-16 13:30:25 +02:00
Max Bruckner
c0e1b2d268 toString: no global configuration. Only pass around one local object 2015-05-16 13:29:55 +02:00
Max Bruckner
a347405a98 toString: implement callbacks and local configuration 2015-05-16 13:28:51 +02:00
Max Bruckner
291d620972 Pass local configuration to toTex functions 2015-05-16 13:27:48 +02:00
Max Bruckner
aa7ca9178f Implement 'all' parenthesis option 2015-05-08 09:07:15 +02:00
Max Bruckner
bc2c29be8c Make _toString functions call the wrapper 2015-05-07 10:12:32 +02:00
Max Bruckner
6235fd6ce1 Make toString a wrapper around _toString
This enables preparating the node tree in `toString` before generating
the actual string output with `_toString` methods
2015-04-30 00:12:54 +02:00
Max Bruckner
8282f424c2 Use the prototype for is<Node> instead of the constructor 2015-04-28 20:13:53 +02:00
Max Bruckner
1c76430dda Get rid of 'instanceof' for Nodes (except for constructors) 2015-04-28 10:09:19 +02:00
Max Bruckner
390a0060b4 Add is<NameOfNode> property to enable type checking across constructors 2015-04-28 09:14:53 +02:00
jos
d3d3212633 Refactored all nodes into factory functions (see #342) 2015-04-26 21:25:31 +02:00
Max Bruckner
2cd3da416e UpdateNode.toTex: Fix syntax of assignment and fix test 2015-04-19 09:49:09 +02:00
jos
3150e21c8e Fixed #313: parsed functions did not handle recursive calls correctly 2015-04-09 20:29:51 +02:00
Max Bruckner
e04dfd26bc Rename customFuncions to callbacks 2015-03-17 18:30:26 +01:00
Max Bruckner
35ce7f7fb4 Make Node.toTex a wrapper like Node.compile
Node.prototype.toTex is now a wrapper that calls the node's _toTex
2015-03-13 21:23:14 +01:00
Max Bruckner
37c1363c2d Pass callbacks to toTex functions 2015-03-13 21:23:13 +01:00
jos
309bf3938d Added proper error messages to Node.map 2014-11-15 13:32:02 +01:00
jos
a1f60db0d1 Created Node.map, changed traverse to use Node.map 2014-11-14 11:25:48 +01:00
jos
95a49fe156 Node.transform first clones the node tree 2014-10-11 21:59:47 +02:00
jos
839e596772 Implemented transform and traverse 2014-10-11 18:03:41 +02:00
jos
5f08307391 Implemented a function replace for nodes of a parsed expression. 2014-10-11 15:33:23 +02:00
jos
21b34cfa1a Implemented transforms, moved all one-based to zero-based logic for expressions to transforms. 2014-07-19 21:47:15 +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
Niels Heisterkamp
b7fe0bfbf1 Added LaTeX conversion of expressions using toTex() on expression.
Also added some basic tests, which cover some use cases; but should be expanded.
2014-05-19 08:20:06 +02:00
jos
1189efd4d8 Added property type to all expression nodes in a node tree. 2014-04-24 20:26:51 +02:00
josdejong
8cea27406b Some internal refactoring 2014-04-06 11:22:13 +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
d19e7ea570 Switched to module decimal.js for BigNumber support, instead of bignumber.js. 2014-04-04 21:08:33 +02:00
josdejong
b046c7ee98 Completed unit tests for all expression nodes 2014-03-01 15:55:20 +01:00
josdejong
42548e1cf0 More unit tests 2014-02-28 22:50:46 +01:00
josdejong
5d96ce4c16 Removed old code for expression evaluation 2014-01-07 21:07:43 +01:00
josdejong
00e55b917e Replaced eval with compile 2014-01-07 16:12:57 +01:00
josdejong
28205b04e2 IndexNode works now for getting a subset too 2014-01-06 22:29:25 +01:00
josdejong
c2c8bb61cf Compilation of UpdateNode working again 2014-01-05 22:18:32 +01:00
josdejong
5f81246136 Implemented global definitions internally in expression compilation 2014-01-05 15:01:07 +01:00
josdejong
d7349296c0 Implemented IndexNode 2014-01-04 17:53:02 +01:00
josdejong
5c84e72bc7 Implemented compilation for UpdateNode 2014-01-04 15:26:13 +01:00
josdejong
279809fd79 Ranges and indexes can now handle big numbers by downgrading to numbers 2013-11-27 14:16:46 +01:00
josdejong
3a4c1c5ef0 Internally renamed variable options to settings 2013-11-21 13:39:24 +01:00
josdejong
98cb6dcd31 Bug fix for nested matrix indexes using context variable end 2013-11-12 22:14:12 +01:00
josdejong
c8a289a08c Removed unnecessary .js suffix in module require statements 2013-10-20 14:01:31 +02:00
josdejong
eadb884af9 Moved around code and namespaces in order to separate expression parser related code. 2013-08-31 09:37:14 +02:00