Commit Graph

76 Commits

Author SHA1 Message Date
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
6264be6573 Create smnp.io module with println() function 2020-05-30 12:49:21 +02:00
473f6b862c Improve gradle scripts (exclude :modules project from Java-based ones) 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
3c25833122 Create smnp.lang package with basic get() methods for map and list 2020-05-30 12:49:17 +02:00
8ca966b376 Create working example of external module 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
ae9406cc50 Configure jar task to build fat jar archives 2020-05-30 12:49:16 +02:00
4fea93cdf9 Create stubbed ModuleProvider and add module loading tools to Environment class 2020-05-30 12:49:16 +02:00
a1561c33bb Create module model 2020-05-30 12:49:16 +02:00
815bd29c99 Create method and function invocation exception along with arguments formatter 2020-05-30 12:49:15 +02:00
760270c026 Create method definition tools 2020-05-30 12:49:15 +02:00
d24f1d72c7 Create function definition tools 2020-05-30 12:49:15 +02:00
634ea2711b Extract some fundamental metadata structure to io.smnp.api package 2020-05-30 12:49:14 +02:00
945df28a29 Migrate signatures parsers to Kotlin 2020-05-30 12:49:14 +02:00
e14eb17aa6 Migrate matchers to Kotlin 2020-05-30 12:49:14 +02:00
380b07f065 Migrate condition evaluator to Kotlin 2020-05-30 12:49:14 +02:00
7eb77860e3 Migrate block evaluator to Kotlin 2020-05-30 12:49:13 +02:00
31e194a566 Migrate throw evaluator to Kotlin 2020-05-30 12:49:13 +02:00
c9e612a492 Introduce ExpressionEvaluator 2020-05-30 12:49:13 +02:00
c68d5efe62 Fix operator precedence between relation operators and logic operators 2020-05-30 12:49:13 +02:00
97cb3d3017 Migrate relation operators evaluator to Kotlin 2020-05-30 12:49:12 +02:00
0bf2a98102 Migrate logic operators evaluator to Kotlin 2020-05-30 12:49:12 +02:00
81dfc32f67 Migrate access operator evaluator to Kotlin 2020-05-30 12:49:12 +02:00
f71b59f51e Introduce number unificator for evaluators 2020-05-30 12:49:11 +02:00
a28a98080d Migrate sum operator evaluator to Kotlin 2020-05-30 12:49:11 +02:00
81cd0f25a7 Migrate product operator evaluator to Kotlin 2020-05-30 12:49:11 +02:00
1406a3fa6f Migrate power operator evaluator to Kotlin 2020-05-30 12:49:11 +02:00
5f92cab2bf Refactor evaluators to make use of supportedNodes() method 2020-05-30 12:49:10 +02:00
24eb2194cf Migrate not operator evaluator to Kotlin 2020-05-30 12:49:10 +02:00
2192a22fa5 Migrate minus operator evaluator to Kotlin 2020-05-30 12:49:10 +02:00
26e5153cd3 Compose DefaultEvaluator and RootEvaluator 2020-05-30 12:49:10 +02:00
6ef7d346ff Move all classes to new io.smnp package 2020-05-30 12:49:09 +02:00
fff817b0fd Migrate literal evaluators to Kotlin 2020-05-30 12:49:09 +02:00
f2494aa874 Create base for future evaluators 2020-05-30 12:49:09 +02:00
b01af589d9 Create InvalidSyntaxException 2020-05-30 12:49:08 +02:00
07677cc6c9 Fix ReturnParser to be able to consume loops (handled within ExpressionParser) 2020-05-30 12:49:08 +02:00
a8835a7697 Fix NoteTokenizer for proper consuming @B and @b note literals 2020-05-30 12:49:08 +02:00
43083ee905 Enable running external scripts 2020-05-30 12:49:08 +02:00
e2934ef2b6 Migrate root parser to Kotlin 2020-05-30 12:49:07 +02:00
6c77d02f32 Migrate extend statement parser to Kotlin 2020-05-30 12:49:07 +02:00
74d42588a4 Migrate import parser to Kotlin 2020-05-30 12:49:07 +02:00