231 Commits

Author SHA1 Message Date
jos
e0123c7355 Implemented a method cloneDeep for the expression Nodes. See #745. 2016-11-18 15:37:07 +01:00
Max Bruckner
ab6d9268f3 OperatorNode: Use map instead of foreach in many places 2016-11-14 18:51:21 +07:00
Max Bruckner
493bd7f6b0 OperatorNode: Support more than two operands in toTex/String
Only for multiplication and addition though.
2016-11-13 15:50:32 +07:00
Max Bruckner
f4ef42271b OperatorNode: toString/Tex: switch case -> if
This is in preparation for the next step, where the conditions will get
complexer than a simple switch case.
2016-11-11 20:45:10 +07:00
Max Bruckner
0dcd2f2ef4 OperatorNode: fix: implicit multiplication was not cloned 2016-11-11 11:59:24 +07:00
jos
4306200c4c Implemented method Node.equals(other) for all nodes of the expression parser 2016-11-05 16:27:23 +01:00
jos
23d1786cb2 Comments of expressions are are now stored in the parsed nodes, see #690 2016-08-23 21:12:39 +02:00
jos
730a10749e FunctionAssignmentNode creates a TypedFunction 2016-05-22 14:25:48 +02:00
jos
5edecb56c8 Removed the check on the number of arguments from functions defined in the expression parser (see #665) 2016-05-18 21:08:40 +02:00
jos
26e1e26555 Fixed #635: Node.toString options where not passed to function arguments 2016-04-03 11:31:08 +02:00
Max Bruckner
c72071dfb7 OperatorNode: toTex support for implicit multiplication
Use the option `implicit` with the value `hide` to not show the
multiplication sign for implicit multiplication. This is the default.
Use `show` otherwise.
2016-03-19 19:09:14 +01:00
Max Bruckner
65817dbf03 OperatorNode: toString support for implicit multiplication
Use the option `implicit` with the value `hide` to not show the
multiplication sign for implicit multiplication. This is the default.
Use `show` otherwise.
2016-03-19 18:48:54 +01:00
Max Bruckner
876740e123 fix: ParenthesisNode doesn't print parentheses with empty options
When the options to toString or toTex where an empty object,
ParenthesisNode didn't fall back to the default 'keep' behavior.
2016-03-19 18:38:58 +01:00
Max Bruckner
6f39ec5da9 OperatorNode: new 'implicit' attribute to mark implicit multiplication
This also modifies the parser to set this attribute
2016-03-19 14:25:58 +01:00
jos
15aca5e4d0 Changed casing of the values of config options number and matrix to match the actual name of the classes. 2016-03-04 19:41:54 +01:00
jos
a60a70e6b9 Store dot notation in IndexNode 2016-02-27 11:36:47 +01:00
jos
89e1238fed Implemented read-only name-properties for AccessorNode and AssignmentNode, improved the name property of FunctionNode 2016-02-27 11:17:34 +01:00
jos
dc1e800314 Updated docs and history on expression parser nodes 2016-02-26 21:03:04 +01:00
jos
2869c37af9 Renamed Index.ranges to Index.dimensions 2016-02-26 20:51:09 +01:00
jos
0d6e7521d3 More unit tests 2016-02-26 20:15:52 +01:00
jos
4d1cd06285 Implemented new AssignmentNode and everything around it. Changed matrices not to clone elements when getting/setting a subset 2016-02-26 15:30:17 +01:00
jos
9173fbd3b8 Large refactoring of nodes: AssignmentNode. UpdateNode, AccessorNode, IndexNode 2016-02-25 15:02:44 +01:00
jos
fad5d8cc07 Merged parseFunctions and parseIndex into parseAccessors. Restricted support for implicit multiplication, execute as accessors instead 2016-01-09 21:11:29 +01:00
jos
b7bd078def Added name property to UpdateNode 2016-01-08 22:27:19 +01:00
jos
1a1461cf89 Assignments in the expression parser now return the assigned value rather than the created or updated object (see #533) 2016-01-08 21:47:09 +01:00
jos
15b640fcea Merge branch 'develop' into feature/objectsupport
Conflicts:
	HISTORY.md
2016-01-08 20:33:22 +01:00
Max Bruckner
49e3fb7fad ConditionalNode: simplify LaTeX by using the 'cases' environment 2016-01-05 10:53:11 +01:00
Max Bruckner
a75abeb58e ObjectNode: prettier LaTeX output 2016-01-05 00:36:47 +01:00
jos
8d3d58e724 Implemented ObjectNode and object support in the expression parser 2016-01-02 23:00:14 +01:00
jos
edf4e24e21 Some refactoring 2016-01-02 20:57:13 +01:00
jos
050573f4f3 Some refactoring 2016-01-02 20:46:12 +01:00
jos
476b75b33b Fixed a bug in the toString method of an IndexNode 2016-01-02 15:56:50 +01:00
jos
2adf01e548 Getting/setting object properties working (still needs a refactoring step) 2016-01-02 15:16:12 +01:00
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
fa86d87e44 Fixed function number not supporting Fraction input 2015-11-27 21:44:07 +01:00
jos
ee52d4907a Removed some unused references 2015-07-31 09:23:09 +02:00
jos
188f43a26a Lazy loading works ... hurray!!! 2015-07-22 21:13:15 +02:00
jos
2353c4a61e Renamed folders util to utils 2015-07-18 13:22:38 +02:00
jos
f19cfb4394 Reintroduced node.eval(scope). Updated some docs and examples 2015-07-18 10:21:48 +02:00
jos
6c592fa67c Added an example custom_loading.js 2015-07-14 21:13:00 +02:00
jos
658990a49b Moved Range and Index under lib/type/matrix. Renamed the file Index.js to MatrixIndex.js to prevent name conflicts on Windows. Added an index.js file in lib/function 2015-07-12 20:21:27 +02:00
jos
936386c96c Fixed #405: Parser throws error when defining a function in a multiline expression 2015-07-11 20:21:49 +02:00
jos
1fdd5b0e7a Changed random naming of parameters to using a counter 2015-07-03 17:16:10 +02:00
Max Bruckner
24cd767fa0 Get rid of exports.functions in 'lib/util/latex.js' 2015-06-14 20:11:18 +02:00
Max Bruckner
a598204fa7 Change template Syntax to ES6 like style
Access properties via ${property} and ${property[index]}
2015-06-07 18:49:58 +02:00
Max Bruckner
b3e8aae10c LaTeX templates for attached toTex properties 2015-06-07 18:47:50 +02:00
Max Bruckner
665df50fc8 FunctionNode: Move latexToFunction to _toTex 2015-06-07 18:47:21 +02:00
Max Bruckner
0402d003dd Move logic for attached toTex to _toTex
This is necessary because otherwise it would overwrite the behavior of a
global callback (passed in `options`).
2015-06-07 18:46:51 +02:00
Max Bruckner
0078cbcb76 Move LaTeX template expansion to FunctionNode 2015-06-07 18:46:20 +02:00
Max Bruckner
40fb34924f Move function to LaTeX logic from util/latex to FunctionNode 2015-06-07 18:46:14 +02:00