Commit Graph

50 Commits

Author SHA1 Message Date
Bartłomiej Pluta
99dd8bd46e Improve evaluator for sum (concatenating lists and maps) 2019-07-12 21:02:09 +02:00
Bartłomiej Pluta
dc3387c685 Create evaluator for sum (sum, subtraction and string concatenation) 2019-07-12 20:56:42 +02:00
Bartłomiej Pluta
1094c071fb Create evaluator for product (both multiplying and dividing) 2019-07-12 20:45:23 +02:00
Bartłomiej Pluta
13a6dedba6 Create working PoC of loop statement 2019-07-12 20:36:56 +02:00
Bartłomiej Pluta
94128d9f21 Create evaluator for identifier 2019-07-12 19:57:11 +02:00
Bartłomiej Pluta
65fccda989 Create evaluator for power operator 2019-07-12 19:54:29 +02:00
Bartłomiej Pluta
35eb38076f Create evaluator for not operator 2019-07-12 19:45:54 +02:00
Bartłomiej Pluta
a1273896e4 Create evaluator for access operator 2019-07-12 19:40:52 +02:00
Bartłomiej Pluta
94666aca79 Create evaluator for minus operator 2019-07-12 19:21:42 +02:00
Bartłomiej Pluta
6d1351e4a0 Create evaluators for lists and maps 2019-07-12 19:07:12 +02:00
Bartłomiej Pluta
1563045de1 Create evaluator for function call and basic atoms 2019-07-12 18:59:59 +02:00
Bartłomiej Pluta
18884eb5d9 Add support for assignments, function calls and pure identifiers 2019-07-10 23:19:46 +02:00
Bartłomiej Pluta
1d573c8c80 Create term precendence level 2019-07-10 22:05:45 +02:00
Bartłomiej Pluta
214eec0e7a Rename 'access.py' to 'operator.py' 2019-07-10 16:55:37 +02:00
Bartłomiej Pluta
88b245dc05 Make access node more generic 2019-07-10 16:51:11 +02:00
Bartłomiej Pluta
578141c7b8 Add support for evaluating BOOL and introduce basic logical operators as functions 2019-07-10 14:08:28 +02:00
Bartłomiej Pluta
d10df10282 Add call stack to fix 'return' statement issue 2019-07-10 12:21:07 +02:00
Bartłomiej Pluta
48638b832b Refactor signature builder 2019-07-10 11:41:19 +02:00
Bartłomiej Pluta
746c1bc568 Enable allTypes() for type specifiers 2019-07-10 11:34:25 +02:00
Bartłomiej Pluta
f6d1f91708 Enable allTypes() for argument definitions in functions 2019-07-10 11:29:00 +02:00
Bartłomiej Pluta
6fdc437a7f Refactor function definition evaluator 2019-07-10 11:11:21 +02:00
Bartłomiej Pluta
fd5c4532cc Add support for multiple types 2019-07-10 01:07:20 +02:00
Bartłomiej Pluta
39eaa2b4d5 Enable varargs in signatures 2019-07-10 00:33:34 +02:00
Bartłomiej Pluta
360b686a8f Rename TypedVariable to ArgumentDefinitionNode 2019-07-10 00:05:24 +02:00
Bartłomiej Pluta
ec0bd13377 Allow to use types as expressions 2019-07-09 23:43:17 +02:00
Bartłomiej Pluta
19aa0b4dc8 Fix ExtendEvaluator so that it can handle generic maps 2019-07-09 23:37:50 +02:00
Bartłomiej Pluta
89b147f1ce Move function utilities to 'function' package 2019-07-09 22:56:33 +02:00
Bartłomiej Pluta
1449eee363 Move matchers to type package 2019-07-09 22:53:10 +02:00
Bartłomiej Pluta
7d14b0cbe7 Enable iterating through the map 2019-07-09 20:10:27 +02:00
Bartłomiej Pluta
b786241f12 Enable checking duplicates in map 2019-07-09 18:54:44 +02:00
Bartłomiej Pluta
7e7b5ec461 Extend type specifiers to cover maps 2019-07-09 01:32:09 +02:00
Bartłomiej Pluta
d23e7a1276 Create new type: map (dictionary) with all support for it 2019-07-09 00:14:37 +02:00
Bartłomiej Pluta
a3dfae73f1 Enforce checking function and method names if they're exist before creating new ones 2019-07-08 22:57:15 +02:00
Bartłomiej Pluta
d4b4aa48ee Enable importing other source files 2019-07-08 22:32:59 +02:00
Bartłomiej Pluta
38df0bf8df Improve error message related to usage variables starting with '_' 2019-07-08 22:16:14 +02:00
Bartłomiej Pluta
b06a8533c0 Enable support for types' properties 2019-07-08 22:06:38 +02:00
Bartłomiej Pluta
74eec7f997 Enable checking return type in asterisk 2019-07-08 21:37:33 +02:00
Bartłomiej Pluta
21cbf2bcbd Enable evaluating asterisk 2019-07-08 19:33:14 +02:00
Bartłomiej Pluta
63c020fbb9 Enable evaluating blocks '{' '}' 2019-07-08 19:06:50 +02:00
Bartłomiej Pluta
61a5a3565e Enable variable assignment 2019-07-08 18:27:29 +02:00
Bartłomiej Pluta
05dfe46f9f Improve creating custom methods to checking specifier of generic types (list) 2019-07-08 18:18:40 +02:00
Bartłomiej Pluta
6d56706354 Enable creating custom methods 2019-07-08 17:48:02 +02:00
Bartłomiej Pluta
d8cdafe293 Enable invoking builtin methods 2019-07-08 17:15:54 +02:00
Bartłomiej Pluta
8b7e1432b6 Enable executing custom functions 2019-07-08 16:01:20 +02:00
Bartłomiej Pluta
606d93c319 Create evaluator for custom functions definition (but invocation doesn't work yet) 2019-07-08 15:36:13 +02:00
Bartłomiej Pluta
1e634180d6 Create evaluator for function call 2019-07-08 14:10:10 +02:00
Bartłomiej Pluta
6e42ac0f91 Create evaluators for literals, list and identifier nodes 2019-07-08 13:39:07 +02:00
Bartłomiej Pluta
ed73aa1ad1 Create new parser (works for lists so far) 2019-07-05 17:00:43 +02:00
Bartłomiej Pluta
23e0f3f33e Reformat evaluator #2 (exceptions) 2019-07-04 18:09:51 +02:00
Bartłomiej Pluta
34a0eda199 Reformat evaluator #1 2019-07-04 17:57:12 +02:00