Commit Graph

67 Commits

Author SHA1 Message Date
Bartłomiej Pluta
70687ddc02 Fix relation operators between floats and integers 2019-07-27 12:52:30 +02:00
Bartłomiej Pluta
b126f83824 Enable basic support for evaluating float types 2019-07-25 13:37:31 +02:00
Bartłomiej Pluta
ea28ab6235 Fix leaking scope of function to outer scope 2019-07-16 10:18:00 +02:00
Bartłomiej Pluta
44e63ed18d Add optional filtering expression to loop operator 2019-07-15 20:43:33 +02:00
Bartłomiej Pluta
79a7b8bb1d Add optional semicolon at the end of statements and move loop parser from factor to expression (change precedence) 2019-07-15 20:17:40 +02:00
Bartłomiej Pluta
c5435e66ff Enable checking matching optional arguments with declared types 2019-07-14 00:12:14 +02:00
Bartłomiej Pluta
460deb4981 Create evaluators for optional arguments in function and method definitions 2019-07-13 23:52:15 +02:00
Bartłomiej Pluta
78ea26ea08 Add evaluators for logic operators 'and' and 'or' 2019-07-13 21:35:00 +02:00
Bartłomiej Pluta
86cf5d01f3 Add 'throw' statement 2019-07-13 14:48:58 +02:00
Bartłomiej Pluta
9ae9da089b Fix return statement 2019-07-13 10:32:16 +02:00
Bartłomiej Pluta
4f2058eaac Move some functions to standard library 2019-07-13 10:21:08 +02:00
Bartłomiej Pluta
439765f442 Move 'flat' function definition to standard library 2019-07-12 23:12:09 +02:00
Bartłomiej Pluta
4c03ca2f86 Fix loop statement 2019-07-12 22:55:46 +02:00
Bartłomiej Pluta
033d864b0f Create evaluator for extend statement 2019-07-12 22:31:14 +02:00
Bartłomiej Pluta
cc569b5f19 Create import statement evaluator and update standard library 2019-07-12 22:08:37 +02:00
Bartłomiej Pluta
b31e17d176 Create if-else statement evaluator 2019-07-12 21:58:16 +02:00
Bartłomiej Pluta
95e6a5f95d Create evaluator for relation operators 2019-07-12 21:26:06 +02:00
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