Commit Graph

62 Commits

Author SHA1 Message Date
d9f29a95ad Extract SMNP core from 'app' module to 'core' module 2020-05-30 12:49:45 +02:00
e10af0b81e Make assertion that enables throwing only strings with 'throw' statement 2020-05-30 12:49:43 +02:00
76132498a6 Move index incrementation outside the filter block in loop statements/expressions 2020-05-30 12:49:43 +02:00
7bccb28080 Refactor/unify modules files structure 2020-05-30 12:49:41 +02:00
c41a02f880 Simplify wrapping with decorator pattern evaluation exceptions 2020-05-30 12:49:40 +02:00
53b92150c4 Refactor staff evaluator 2020-05-30 12:49:39 +02:00
2ab32b48fa Create staff evaluator and rewrite adeste.mus to use new staff notation 2020-05-30 12:49:39 +02:00
71da1e463c Create staff, measure and time signature parsers 2020-05-30 12:49:39 +02:00
f600308e9c Improve AbstractIterableParser to accept more abstract iterables 2020-05-30 12:49:38 +02:00
7b742f21da Introduce new tokens: $, | and || 2020-05-30 12:49:38 +02:00
70cb2e85bc Refactor extend statement: remove unnecessary "as" keyword and push "this" variable context to the extend-statement scope 2020-05-30 12:49:38 +02:00
15b77e2c8b Enable displaying errors with source (files with code) 2020-05-30 12:49:37 +02:00
ec6eeadfa8 Create smnp.audio.mic module 2020-05-30 12:49:36 +02:00
5c0fe0daf3 Change note's duration type from int to Fraction and enable + operator support for note and int 2020-05-30 12:49:36 +02:00
c2103dab54 Fix list parser to parse expressions as items 2020-05-30 12:49:35 +02:00
61e7793f24 Improve decoration design-pattern model of exceptions 2020-05-30 12:49:35 +02:00
2c1bae2974 Move global error handling to root main() function 2020-05-30 12:49:35 +02:00
2573363dca Create midi preset and improve the rest ones 2020-05-30 12:49:34 +02:00
b76b120d6f Improve alert and metronome presets 2020-05-30 12:49:34 +02:00
0b27844195 Enable modifying default beats and accents of metronome in metronome preset 2020-05-30 12:49:33 +02:00
cc9d101609 Fix logic and relation operators precedence and enable lazy evaluation of logic's operators (and, or) operands 2020-05-30 12:49:33 +02:00
a68dc4f873 Add support for presets 2020-05-30 12:49:33 +02:00
88b841bb98 Add support for passing custom parameters to script 2020-05-30 12:49:32 +02:00
4ce35ce34c Create base for CLI 2020-05-30 12:49:32 +02:00
86fc8ae086 Introduce log4j and turn it off to disable logging and meet PF4J requirements 2020-05-30 12:49:32 +02:00
8ee3195bef Improve callstack() debug function and rename it to stacktrace() 2020-05-30 12:49:30 +02:00
5c56060e70 Fix parsing optional arguments 2020-05-30 12:49:30 +02:00
07fc9f3dd2 Experimental: add support for function/method overloading 2020-05-30 12:49:30 +02:00
ba23545e1b Create validation on midi() function 2020-05-30 12:49:30 +02:00
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