Commit Graph

  • eb28976704 Enable support for custom functions definition Bartłomiej Pluta 2019-07-12 00:13:20 +02:00
  • af3cb7027a Add TypeParser (handling types list - specifiers etc.) Bartłomiej Pluta 2019-07-11 23:36:52 +02:00
  • 261530eb10 Clean code Bartłomiej Pluta 2019-07-11 19:51:47 +02:00
  • 5a1d568e8e Refactor ExpressionParser Bartłomiej Pluta 2019-07-11 19:43:18 +02:00
  • 49e4c4487e --wip-- [skip ci] new-parser Bartłomiej Pluta 2019-07-11 19:36:25 +02:00
  • e7674a4834 Create almost working proof of concept with new parsers Bartłomiej Pluta 2019-07-11 19:10:13 +02:00
  • ed2c8dc6dd Create base for future parsers Bartłomiej Pluta 2019-07-11 18:24:05 +02:00
  • f91e2a75de Create oneOf and allOf parsers Bartłomiej Pluta 2019-07-11 17:23:39 +02:00
  • b80710798b Remove unnecessary old code Bartłomiej Pluta 2019-07-11 10:34:10 +02:00
  • 3e506354cd Add imports statements Bartłomiej Pluta 2019-07-11 10:23:28 +02:00
  • 610266a9d2 Add 'not' operator Bartłomiej Pluta 2019-07-11 10:08:18 +02:00
  • 60b54c357d Create if-else statement Bartłomiej Pluta 2019-07-11 09:32:05 +02:00
  • a13c87db14 Create if-else expression Bartłomiej Pluta 2019-07-11 09:16:09 +02:00
  • 101ce862b0 Create statements and block nodes Bartłomiej Pluta 2019-07-11 00:18:40 +02:00
  • 5a25ec6ffe Little code refactor Bartłomiej Pluta 2019-07-11 00:12:00 +02:00
  • 3bbacad83b Add support for maps Bartłomiej Pluta 2019-07-11 00:08:12 +02:00
  • 10c701ecbf Create loop (dash '^') operator (older asterisk '*') Bartłomiej Pluta 2019-07-10 23:56:21 +02:00
  • e115c6e33a Fix ARROW operator Bartłomiej Pluta 2019-07-10 23:21:51 +02:00
  • 18884eb5d9 Add support for assignments, function calls and pure identifiers Bartłomiej Pluta 2019-07-10 23:19:46 +02:00
  • 24b1012c7c Improve list to make use of max precedence expression parser Bartłomiej Pluta 2019-07-10 22:49:20 +02:00
  • 175bea6e5c Create expression3 (logic 'and') and expression4 (logic 'or') precedence Bartłomiej Pluta 2019-07-10 22:46:58 +02:00
  • 3058293b7e Create expression2 precendence level (relation operators) Bartłomiej Pluta 2019-07-10 22:39:22 +02:00
  • 4018bcddc7 Create expression precendence level Bartłomiej Pluta 2019-07-10 22:27:44 +02:00
  • 1d573c8c80 Create term precendence level Bartłomiej Pluta 2019-07-10 22:05:45 +02:00
  • 29820fb2ee Create factor level Bartłomiej Pluta 2019-07-10 22:00:01 +02:00
  • 9dc8d5a650 Add lists to base items Bartłomiej Pluta 2019-07-10 21:56:38 +02:00
  • ab990f3071 Create parser for chain (dot operator) Bartłomiej Pluta 2019-07-10 21:31:02 +02:00
  • e31dab52f6 Create parsers for literals (atoms) Bartłomiej Pluta 2019-07-10 21:17:16 +02:00
  • 66554f6c37 Improve parser to contain name and subparsers Bartłomiej Pluta 2019-07-10 20:53:36 +02:00
  • aefa8e8f3c Create simple calc as test draft Bartłomiej Pluta 2019-07-10 20:14:05 +02:00
  • 76eabbff0e Refactor LeftAssociativeOperatorNode Bartłomiej Pluta 2019-07-10 17:02:18 +02:00
  • 214eec0e7a Rename 'access.py' to 'operator.py' Bartłomiej Pluta 2019-07-10 16:55:37 +02:00
  • 88b245dc05 Make access node more generic Bartłomiej Pluta 2019-07-10 16:51:11 +02:00
  • a1bc422fba Fix accessing properties and methods in identifiers with EQUAL add-bool Bartłomiej Pluta 2019-07-10 16:25:06 +02:00
  • 98d710ac97 Add equal ('==') operator to strings Bartłomiej Pluta 2019-07-10 16:02:39 +02:00
  • d6fb101337 Add equal ('==') operator to both identifiers and bools Bartłomiej Pluta 2019-07-10 15:52:56 +02:00
  • e008be7952 Do some refactor with multiple left associative operators Bartłomiej Pluta 2019-07-10 15:25:00 +02:00
  • 0a7d29d4a1 Working proof of concept of multiple left associative operators Bartłomiej Pluta 2019-07-10 15:02:17 +02:00
  • 823c5cb18f Update grammar Bartłomiej Pluta 2019-07-10 14:22:39 +02:00
  • 578141c7b8 Add support for evaluating BOOL and introduce basic logical operators as functions Bartłomiej Pluta 2019-07-10 14:08:28 +02:00
  • 9408c63e06 Add support for parsing BOOL to AST Bartłomiej Pluta 2019-07-10 13:54:21 +02:00
  • 26a2b27def Add new token: TokenType.BOOL Bartłomiej Pluta 2019-07-10 13:48:13 +02:00
  • 739610c663 Create standard library proof of concept Bartłomiej Pluta 2019-07-10 13:23:40 +02:00
  • 83ea3aaf0f Move types() function to tools module Bartłomiej Pluta 2019-07-10 13:01:03 +02:00
  • a8e4700591 Fix types() function Bartłomiej Pluta 2019-07-10 12:59:38 +02:00
  • 9ea2202d14 Add call stack to RuntimeException based errors Bartłomiej Pluta 2019-07-10 12:53:58 +02:00
  • d10df10282 Add call stack to fix 'return' statement issue Bartłomiej Pluta 2019-07-10 12:18:13 +02:00
  • 48638b832b Refactor signature builder Bartłomiej Pluta 2019-07-10 11:39:23 +02:00
  • 746c1bc568 Enable allTypes() for type specifiers Bartłomiej Pluta 2019-07-10 11:34:25 +02:00
  • f6d1f91708 Enable allTypes() for argument definitions in functions Bartłomiej Pluta 2019-07-10 11:29:00 +02:00
  • 6fdc437a7f Refactor function definition evaluator Bartłomiej Pluta 2019-07-10 11:11:21 +02:00
  • fd5c4532cc Add support for multiple types Bartłomiej Pluta 2019-07-10 01:07:20 +02:00
  • c66d138782 Refactor ArgumentDefinitionNode parser Bartłomiej Pluta 2019-07-10 00:45:17 +02:00
  • 39eaa2b4d5 Enable varargs in signatures Bartłomiej Pluta 2019-07-10 00:32:42 +02:00
  • 99647df061 Add new token (dots = '...') Bartłomiej Pluta 2019-07-10 00:06:17 +02:00
  • 360b686a8f Rename TypedVariable to ArgumentDefinitionNode Bartłomiej Pluta 2019-07-10 00:05:24 +02:00
  • e58282878a Allow to use types as keys in maps Bartłomiej Pluta 2019-07-09 23:51:50 +02:00
  • ec0bd13377 Allow to use types as expressions Bartłomiej Pluta 2019-07-09 23:43:17 +02:00
  • 19aa0b4dc8 Fix ExtendEvaluator so that it can handle generic maps Bartłomiej Pluta 2019-07-09 23:37:50 +02:00
  • 7d8f834f3f Update grammar Bartłomiej Pluta 2019-07-09 23:28:44 +02:00
  • c57be77bcc Fix checking attempts to access items outside the list Bartłomiej Pluta 2019-07-09 23:27:53 +02:00
  • 67d05c23be Clean environment factory method Bartłomiej Pluta 2019-07-09 23:09:54 +02:00
  • 89b147f1ce Move function utilities to 'function' package Bartłomiej Pluta 2019-07-09 22:56:33 +02:00
  • 1449eee363 Move matchers to type package Bartłomiej Pluta 2019-07-09 22:53:10 +02:00
  • fe19ecc090 Move 'util' module Bartłomiej Pluta 2019-07-09 22:43:36 +02:00
  • 9cd7c219dc Move 'string' module and fix 'typeOf' function Bartłomiej Pluta 2019-07-09 22:40:51 +02:00
  • 0571e3f1e2 Move 'synth' module Bartłomiej Pluta 2019-07-09 22:29:01 +02:00
  • 2193cf27c8 Move 'sound' module Bartłomiej Pluta 2019-07-09 22:23:28 +02:00
  • e3f9cb6551 Move 'iterable' module Bartłomiej Pluta 2019-07-09 22:16:10 +02:00
  • 82bc9997c8 Move 'system' module Bartłomiej Pluta 2019-07-09 22:13:24 +02:00
  • ef99c4d6e2 Move 'note' module Bartłomiej Pluta 2019-07-09 22:09:10 +02:00
  • b91cc46d44 Move 'mic' module Bartłomiej Pluta 2019-07-09 22:04:07 +02:00
  • b4d5d11b84 Add new functions: 'concat', 'range' and 'Map' constructor Bartłomiej Pluta 2019-07-09 20:54:56 +02:00
  • 7d14b0cbe7 Enable iterating through the map Bartłomiej Pluta 2019-07-09 20:10:27 +02:00
  • 8f0346d476 Add properties to 'map' type Bartłomiej Pluta 2019-07-09 19:23:55 +02:00
  • fc023f8a5d Create audio module which allows to play sound files Bartłomiej Pluta 2019-07-09 19:04:55 +02:00
  • b786241f12 Enable checking duplicates in map Bartłomiej Pluta 2019-07-09 18:54:44 +02:00
  • 7e7b5ec461 Extend type specifiers to cover maps Bartłomiej Pluta 2019-07-09 01:32:09 +02:00
  • d23e7a1276 Create new type: map (dictionary) with all support for it Bartłomiej Pluta 2019-07-09 00:11:39 +02:00
  • a3dfae73f1 Enforce checking function and method names if they're exist before creating new ones Bartłomiej Pluta 2019-07-08 22:53:32 +02:00
  • d4b4aa48ee Enable importing other source files Bartłomiej Pluta 2019-07-08 22:32:59 +02:00
  • 38df0bf8df Improve error message related to usage variables starting with '_' Bartłomiej Pluta 2019-07-08 22:16:14 +02:00
  • 9186ea1b64 Fix 'tuplet' function Bartłomiej Pluta 2019-07-08 22:09:49 +02:00
  • b06a8533c0 Enable support for types' properties Bartłomiej Pluta 2019-07-08 22:06:38 +02:00
  • 74eec7f997 Enable checking return type in asterisk Bartłomiej Pluta 2019-07-08 21:37:33 +02:00
  • 21cbf2bcbd Enable evaluating asterisk Bartłomiej Pluta 2019-07-08 19:33:14 +02:00
  • 63c020fbb9 Enable evaluating blocks '{' '}' Bartłomiej Pluta 2019-07-08 19:06:50 +02:00
  • 61a5a3565e Enable variable assignment Bartłomiej Pluta 2019-07-08 18:27:29 +02:00
  • 05dfe46f9f Improve creating custom methods to checking specifier of generic types (list) Bartłomiej Pluta 2019-07-08 18:18:40 +02:00
  • 6d56706354 Enable creating custom methods Bartłomiej Pluta 2019-07-08 17:48:02 +02:00
  • d8cdafe293 Enable invoking builtin methods Bartłomiej Pluta 2019-07-08 17:15:54 +02:00
  • 8b7e1432b6 Enable executing custom functions Bartłomiej Pluta 2019-07-08 16:01:20 +02:00
  • 606d93c319 Create evaluator for custom functions definition (but invocation doesn't work yet) Bartłomiej Pluta 2019-07-08 15:36:13 +02:00
  • 1e634180d6 Create evaluator for function call Bartłomiej Pluta 2019-07-08 14:10:10 +02:00
  • 6e42ac0f91 Create evaluators for literals, list and identifier nodes Bartłomiej Pluta 2019-07-08 13:39:07 +02:00
  • fd9f240ce5 Update grammar Bartłomiej Pluta 2019-07-07 12:43:45 +02:00
  • 99e9fc7de5 Create Parser.optional() helper method Bartłomiej Pluta 2019-07-06 23:08:12 +02:00
  • ace0e2b31f Enable support for specifying types by angle braces Bartłomiej Pluta 2019-07-06 22:53:03 +02:00
  • af91c8dc3b Add new angle parentheses and rename BRACKET to CURLY Bartłomiej Pluta 2019-07-06 22:18:19 +02:00
  • 756f4544e4 Refactor tokenizer Bartłomiej Pluta 2019-07-06 22:09:01 +02:00