Commit Graph

78 Commits

Author SHA1 Message Date
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
fd9f240ce5 Update grammar 2019-07-07 12:43:45 +02:00
Bartłomiej Pluta
99e9fc7de5 Create Parser.optional() helper method 2019-07-06 23:08:12 +02:00
Bartłomiej Pluta
ace0e2b31f Enable support for specifying types by angle braces 2019-07-06 22:53:03 +02:00
Bartłomiej Pluta
af91c8dc3b Add new angle parentheses and rename BRACKET to CURLY 2019-07-06 22:18:19 +02:00
Bartłomiej Pluta
756f4544e4 Refactor tokenizer 2019-07-06 22:09:18 +02:00
Bartłomiej Pluta
fbb3f79731 Improve errors raising by parser 2019-07-06 21:43:43 +02:00
Bartłomiej Pluta
6fd49ba54a Refactor parser 2019-07-06 16:04:56 +02:00
Bartłomiej Pluta
f81279094f Remove old parser and move new parser to 'ast' package 2019-07-06 15:56:28 +02:00
Bartłomiej Pluta
9a42bbbb2d Add 'as' keyword to 'extend' block 2019-07-06 15:50:21 +02:00
Bartłomiej Pluta
9c4046ac2a Enable tokenizer to support separators between keywords and integers 2019-07-06 13:35:21 +02:00
Bartłomiej Pluta
675b1774fe Add important todo to tokenizer 2019-07-06 12:40:21 +02:00
Bartłomiej Pluta
7b4f4fa8fb Add 'import' statements 2019-07-06 12:10:58 +02:00
Bartłomiej Pluta
bf40c5130c Enable extending existing types to add custom methods 2019-07-06 00:53:03 +02:00
Bartłomiej Pluta
f11b3b67f2 Add support for custom functions 2019-07-06 00:20:36 +02:00
Bartłomiej Pluta
2ecc86a9b2 Add support for assignment 2019-07-05 23:33:28 +02:00
Bartłomiej Pluta
c1fbc2fe23 Refactor tokenizer: remove colon, add colon as duration separator to note and create TokenType.TYPE 2019-07-05 23:09:27 +02:00
Bartłomiej Pluta
f7b8704516 Enable support for asterisk 2019-07-05 22:58:26 +02:00
Bartłomiej Pluta
b15bb8e846 Fix BlockNode 2019-07-05 22:57:20 +02:00
Bartłomiej Pluta
15dc909824 Add support for identifiers, functions, properties and methods calls 2019-07-05 22:35:19 +02:00
Bartłomiej Pluta
ec3675ac43 Create BlockNode 2019-07-05 22:06:07 +02:00
Bartłomiej Pluta
6d59ffff1c Enable parsing negative integers 2019-07-05 21:43:51 +02:00
Bartłomiej Pluta
a9fdbe62be Add support for properties to list expressions 2019-07-05 21:33:04 +02:00
Bartłomiej Pluta
8b72dcb9a4 Add support for accessing properties to strings and notes 2019-07-05 21:31:38 +02:00
Bartłomiej Pluta
d92dd2f41a Fix tokenizing notes 2019-07-05 21:30:32 +02:00
Bartłomiej Pluta
6281ab5c99 Create literal helper class 2019-07-05 21:20:37 +02:00
Bartłomiej Pluta
15c73efb79 Move left associativity of accessing properties to AccessNode class 2019-07-05 21:17:17 +02:00
Bartłomiej Pluta
9e6ead49d2 Create PoC of working left associativity 2019-07-05 20:55:36 +02:00
Bartłomiej Pluta
bacaeb0005 Create note literal node 2019-07-05 18:39:41 +02:00
Bartłomiej Pluta
425d23eb5f Modify tokenizer to parse notes 2019-07-05 18:36:12 +02:00
Bartłomiej Pluta
ad19e851ec Improve lists 2019-07-05 18:17:00 +02:00
Bartłomiej Pluta
acd9a42e1b Create abstract iterable parser 2019-07-05 18:07:26 +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
Bartłomiej Pluta
f0cbf37fe9 Improve environment and library 2019-07-04 15:23:57 +02:00
Bartłomiej Pluta
5f89fca2ac Create 'transpose' function 2019-07-04 14:46:01 +02:00
Bartłomiej Pluta
70cfb3be22 Create function 'pause' 2019-07-04 14:36:38 +02:00
Bartłomiej Pluta
f7b813daff Create 'synth' function 2019-07-04 14:30:49 +02:00
Bartłomiej Pluta
76c02922ec Create functions 'withOctave', 'withDuration', 'random' and 'tuplet' 2019-07-04 14:06:49 +02:00
Bartłomiej Pluta
586cb2591b Add mic function 2019-07-04 13:22:07 +02:00
Bartłomiej Pluta
558e955d07 Improve library 2019-07-04 13:14:12 +02:00
Bartłomiej Pluta
f86055272e Improve environment #2 2019-07-04 12:02:46 +02:00
Bartłomiej Pluta
b60dedc769 Improve environment #1 2019-07-04 11:43:07 +02:00
Bartłomiej Pluta
ce101df380 Improve support for functions #2 2019-07-04 11:31:02 +02:00
Bartłomiej Pluta
6390ac20de Improve support for functions #1 2019-07-04 02:19:15 +02:00