Commit Graph

34 Commits

Author SHA1 Message Date
d3f6138a8b Refactor code (rename allTypes matcher to anyType) and create unwrap*() methods which converts wrapped with Value values to raw Kotlin's objects 2020-05-30 12:49:29 +02:00
5b03f55cd4 Refactor Value and EvaluatorOutput models in order to get rid of optionals(?) 2020-05-30 12:49:29 +02:00
d8744670ed Refactor retrieving DataType's name 2020-05-30 12:49:29 +02:00
cc2d69e259 Enable disposing environment when code execution is done 2020-05-30 12:49:28 +02:00
c7f251cbce Create basic scaffolding for MIDI sequencing module 2020-05-30 12:49:28 +02:00
a0a09ecb55 Introduce basic error handling 2020-05-30 12:49:27 +02:00
7eb543f2bc Refactor parsers 2020-05-30 12:49:27 +02:00
764c607a69 Introduce some assertions to parsers 2020-05-30 12:49:27 +02:00
6a3bc0de60 Add string iterator type to loop 2020-05-30 12:49:26 +02:00
ce5b090bc5 Fix condition evaluator and not operator evaluator 2020-05-30 12:49:26 +02:00
a5fba7e8b1 Refactor LanguageModuleInterpreter and its dependencies 2020-05-30 12:49:25 +02:00
1c7b56159a Revoke ability to multiple loading the same module 2020-05-30 12:49:25 +02:00
9b79d6ef7d Add support for providing modules written in SMNP language (LanguageModuleProvider extension class) 2020-05-30 12:49:25 +02:00
9e4c9d3b11 Add support for modules dependencies 2020-05-30 12:49:24 +02:00
4226c6d9ba Improve interpreter 2020-05-30 12:49:24 +02:00
b603c9f2c5 Improve import parser and evaluator 2020-05-30 12:49:24 +02:00
e9ddb92ee2 Improve AssignmentOperatorEvaluator and SumOperatorEvaluator 2020-05-30 12:49:24 +02:00
7008bc626c Migrate loop evaluator to Kotlin 2020-05-30 12:49:23 +02:00
26d072d46f Add support for defining custom methods 2020-05-30 12:49:23 +02:00
e7268bf18a Improve map key's evaluator 2020-05-30 12:49:23 +02:00
e7567a1078 Perform some code refactor 2020-05-30 12:49:22 +02:00
10a7dc8823 Migrate import evaluator to Kotlin 2020-05-30 12:49:22 +02:00
a256db117e Migrate assignment operator evaluator to Kotlin 2020-05-30 12:49:22 +02:00
93763da458 Fix evaluating function's optional arguments 2020-05-30 12:49:22 +02:00
53bba579c1 Enable passing arguments to custom functions 2020-05-30 12:49:21 +02:00
7d61756273 Add base support for invoking custom functions (arguments' evaluating is still not supported) 2020-05-30 12:49:21 +02:00
e7bf085f58 Create scaffolding for custom functions 2020-05-30 12:49:20 +02:00
eb4fb1e980 Create FunctionSignatureParser 2020-05-30 12:49:20 +02:00
a354a5b96e Disable reloading already loaded modules 2020-05-30 12:49:20 +02:00
ab82ee8628 Add support for function/methods invocation on Evaluator 2020-05-30 12:49:18 +02:00
d29ef61245 Add support for function/methods invocation on Environment + create call stack model 2020-05-30 12:49:18 +02:00
82e86ebc6a Extract interface from implementation in case of Environment and ModuleRegistry 2020-05-30 12:49:18 +02:00
3fd48b7963 Improve Gradle build scripts 2020-05-30 12:49:17 +02:00
dcdecee28f [BIG REFACTOR] Create new project structure and prepare scaffolding for external modules system 2020-05-30 12:49:16 +02:00