Compare commits

..

98 Commits

Author SHA1 Message Date
Moritz Hölting 9ead94a6b9 allow function calls in template strings, update changelog 2025-10-14 13:41:53 +02:00
Moritz Hölting 389d791ac1 implement comptime while loops 2025-10-08 15:04:57 +02:00
Moritz Hölting e367920922 transpile comptime value to data location 2025-09-17 15:39:57 +02:00
Moritz Hölting 0f6d9b301f check that assignments to comptime variables are only done in comptime conditionals 2025-09-16 23:31:13 +02:00
Moritz Hölting 7f276a4139 implement basic while loop 2025-09-11 16:08:56 +02:00
Moritz Hölting 218f488e76 list alternative identifiers using oxford_join 2025-09-07 12:58:35 +02:00
Moritz Hölting 1b85a2f654 add handling for template strings everywhere 2025-09-02 22:47:37 +02:00
Moritz Hölting 6043a4add5 basic transpilation of template string working 2025-09-02 18:05:21 +02:00
Moritz Hölting ef7bf95447 use strsim to suggest similar identifiers in UnknownIdentifier error 2025-08-27 17:05:21 +02:00
Moritz Hölting d9f2d99c3a fix compile error without "shulkerbox" feature 2025-08-27 11:45:30 +02:00
Moritz Hölting d0cee40524 fix parse error panicing in function args 2025-08-27 10:08:41 +02:00
Moritz Hölting b7d50f8222 allow escaping of $ in macro string 2025-08-26 21:15:41 +02:00
Moritz Hölting 183d3e85c6 implement new tokenizer & parser for TemplateStringLiteral 2025-08-25 19:12:20 +02:00
Moritz Hölting 08ed56b673 rename MacroString to TemplateString 2025-08-25 15:51:21 +02:00
Moritz Hölting 3bc3ca180f implement compile-time function arguments 2025-08-19 15:14:12 +02:00
Moritz Hölting bd8270bd5d fix semantic analysis to allow assignment to indexed identifier 2025-08-13 18:55:47 +02:00
Moritz Hölting e0c3253ab6 fix comptime variable errors 2025-08-13 18:24:48 +02:00
Moritz Hölting 15dde037b7 only use function arg storage if required 2025-08-13 18:05:15 +02:00
Moritz Hölting 0ee456756a apply clippy lints from version 0.1.89 2025-08-13 15:26:36 +02:00
Moritz Hölting d9ae985282 change syntax of array declaration: move brackets from after name to after type 2025-08-13 12:58:35 +02:00
Moritz Hölting 3271ca514c add script for extracting EBNF grammar from doccomments 2025-08-13 09:51:46 +02:00
Moritz Hölting 6e27474da4 implement rest of member access transpilation 2025-08-06 15:28:03 +02:00
Moritz Hölting 927b0f52c1 implement first parts of member access 2025-06-18 11:44:26 +02:00
Moritz Hölting dd97937feb run as expression, implement return statement 2025-04-07 18:01:35 +02:00
Moritz Hölting 68149d9ddf implement uninstall annotation 2025-04-07 14:05:54 +02:00
Moritz Hölting 1e82d2321f allow importing global variables, get rid of functions and aliases field of transpiler 2025-04-07 01:09:34 +02:00
Moritz Hölting 0a8bf37e40 implement global variables (without imports) 2025-04-01 15:19:22 +02:00
Moritz Hölting 469b8d3875 implement first version of compiler variables 2025-04-01 01:00:36 +02:00
Moritz Hölting ab76b1d43e change the syntax to set the type of tags 2025-03-31 23:01:27 +02:00
Moritz Hölting f808fef3f1 fix compile errors without shulkerbox feature 2025-03-31 22:47:16 +02:00
Moritz Hölting 32d453ebef reimplement semantic checking 2025-03-31 21:40:59 +02:00
Moritz Hölting f3b3d5d3b6 implement integer and boolean function arguments 2025-03-30 19:38:08 +02:00
Moritz Hölting ca0edfc5bc improve compiler-internal function print 2025-03-28 13:54:25 +01:00
Moritz Hölting 0fd9dc432e first version of print internal function for easier displaying variable values 2025-03-16 23:26:20 +01:00
Moritz Hölting 237207a447 implement tag and array variables 2025-03-16 20:46:18 +01:00
Moritz Hölting b119ca33c7 implement todos in scoreboard variable 2025-03-16 19:25:25 +01:00
Moritz Hölting 0885665baf implement score variable declarations 2025-03-15 20:28:26 +01:00
Moritz Hölting 055de5c4ea introduce shulkerscript module in lua 2025-03-15 17:53:20 +01:00
Moritz Hölting d988a10d9d path other variable types to lua (except functions) 2025-03-15 15:55:57 +01:00
Moritz Hölting 713977390d fix error in macro string parsing from string 2025-03-15 09:31:08 +01:00
Moritz Hölting 6dde4b41c1 allow marking return value from lua as containing macro 2025-03-15 00:22:33 +01:00
Moritz Hölting 8a9db43424 fix recursive function calls leading to stack overflow 2025-03-15 00:20:40 +01:00
Moritz Hölting 7290806a2b fix compile error when compiling without shulkerbox feature 2025-03-14 13:20:24 +01:00
Moritz Hölting e4c06e56ee allow passing some variables into lua 2025-03-14 12:51:17 +01:00
Moritz Hölting 863bc784cc remove duplicate function, optimize function calls with mixed static and dynamic parameters 2025-03-13 14:35:59 +01:00
Moritz Hölting cebe3e9cb0 implement dynamic (scoreboard, storages) values passed in as macro parameters
- does not compile without the 'shulkerbox' feature enabled
2025-03-12 23:37:32 +01:00
Moritz Hölting 5740172ddb implement more missing functionality marked with todo! 2025-03-12 13:38:27 +01:00
Moritz Hölting f6dadf881a shortcut when using literal booleans 2025-03-11 21:43:44 +01:00
Moritz Hölting 9c54dee454 remove possibility of using same transpiler twice 2025-03-11 21:00:50 +01:00
Moritz Hölting 09dd19508d change conditional to use expression instead of individual condition 2025-03-11 19:43:26 +01:00
Moritz Hölting 79a6455d8f implement expressions as conditions 2025-03-11 18:54:29 +01:00
Moritz Hölting 2a41796405 implement scoreboard operations for variables 2025-03-11 13:38:21 +01:00
Moritz Hölting 58998b4246 implement more primary expressions (identifier, parenthesized, prefixed) 2025-03-10 15:57:38 +01:00
Moritz Hölting 14b371b3b6 implement binary expression parsing and transpiling if possible at compile time
- many TODOs
- transpilation for runtime evaluation missing
2025-03-08 13:23:59 +01:00
Moritz Hölting e772c4b2c2 implement variable assignments 2025-03-07 17:36:25 +01:00
Moritz Hölting 94693cce6c fix generating same data location for shadowed variables 2025-03-07 17:35:31 +01:00
Moritz Hölting c72fbfd148 implement boolean storage variable 2025-03-07 16:47:48 +01:00
Moritz Hölting 8ae065f582 implement basic assignment transpilation 2025-03-06 14:40:26 +01:00
Moritz Hölting 2185206f1b improve debug formatting for Scope and FunctionData 2025-03-05 14:43:10 +01:00
Moritz Hölting 68da1f4e12 rework annotations & transpile single int declarations without assignment 2025-02-27 22:03:45 +01:00
Moritz Hölting 9279e52c00 change function transpilation to use scope instead of separate map 2025-02-26 13:05:59 +01:00
Moritz Hölting a07f16f283 prepare transpiling variables 2025-02-25 22:52:39 +01:00
Moritz Hölting 38f90e6491 fix variable declaration parsing 2025-02-25 20:45:27 +01:00
Moritz Hölting 0d0df920ee implement variable declaration parsing 2025-02-25 20:45:27 +01:00
Moritz Hölting b8303689db make serialization of source file thread local 2025-02-19 09:32:47 +01:00
Moritz Hölting a6a5e42b6b
Change development branch name in github action workflow 2025-02-18 10:18:16 +01:00
Moritz Hölting 19c55b78f4 add example compiler to demonstrate basic functionality and usage 2025-02-17 23:05:51 +01:00
Moritz Hölting 96fe865ac1 Merge branch 'feature/macro-functions' into develop 2025-02-17 13:58:58 +01:00
Moritz Hölting f962f5c36b remove dependency on feature "rc" of serde 2025-02-16 20:41:20 +01:00
Moritz Hölting e1fb8c2a8e change back to derive (de-)serialize for Span 2025-02-16 20:41:20 +01:00
Moritz Hölting 23aa3a58fe update changelog and make flexbuffers dependency optional 2025-02-16 20:41:20 +01:00
Moritz Hölting 5b5465488f change order of serialization of Span by serializing to temporary buffer 2025-02-16 20:41:20 +01:00
Moritz Hölting 116a15e8ea implement custom deserialize
- requires opposite order of data and source_files than what is serialized
2025-02-16 20:41:20 +01:00
Moritz Hölting 124d3383e8 implement custom serialize for Span 2025-02-16 20:41:20 +01:00
Moritz Hölting a91b6f82f5 update dependencies 2025-02-15 14:40:58 +01:00
Moritz Hölting 8223dccc24 fix compilation errors depending on feature selection and update dependency version 2025-01-17 12:27:25 +01:00
Moritz Hölting 6179bebbf0 remove unnecessary RwLocks in Transpiler 2024-11-15 10:42:52 +01:00
Moritz Hölting 5154531083 unescape macro string contents 2024-11-15 10:33:55 +01:00
Moritz Hölting 03973bbac1 allow passing in parameters to functions that will be used as macros 2024-11-12 14:40:40 +01:00
Moritz Hölting 7e96a43e5f show multiple errors and mark tick/load annotation incompatible with parameters 2024-11-11 23:19:36 +01:00
Moritz Hölting eb595bc28b require macros to be present in function parameters 2024-11-11 22:54:24 +01:00
Moritz Hölting b2cc3bb4c7 implement first version of macros 2024-11-10 16:04:10 +01:00
Moritz Hölting cd350c538e remove debug statement in lua handling 2024-11-09 15:24:58 +01:00
Moritz Hölting 8d359f9969 update mlua to 0.10.0 2024-10-30 20:44:05 +01:00
Moritz Hölting aed758101c prepare release of version 0.1.0 2024-10-01 12:01:20 +02:00
Moritz Hölting a9a8aff13b change to dual license, add code of conduct, contributing 2024-09-30 16:55:43 +02:00
Moritz Hölting 804f314df7 use full hash length as name, improve docs 2024-09-27 16:26:24 +02:00
Moritz Hölting c1a8bc8577 update shulkerbox dependency for VFolder fix 2024-09-22 22:48:49 +02:00
Moritz Hölting a3e0bd95bc update shulkerbox dependency 2024-09-22 13:33:00 +02:00
Moritz Hölting 6abe437c70 implement tag declaration 2024-09-21 22:45:05 +02:00
Moritz Hölting 0133661ad4 implement error on conflicting function names and deterministic function generation order 2024-09-20 16:50:40 +02:00
Moritz Hölting 61b8f1ffb9 improve lua integration by allowing more flexible return types and introducing globals 2024-09-20 14:55:48 +02:00
Moritz Hölting 0cccee936e change return type of parse_* functions from Option to Result 2024-09-19 20:54:39 +02:00
Moritz Hölting 2bc8281f19 improve error display 2024-09-19 00:12:24 +02:00
Moritz Hölting 6f3c152e73 add source code display to UnexpectedExpression, LuaRuntimeError errors 2024-09-03 22:21:03 +02:00
Moritz Hölting 6e019fb3ac extend file provider with read_bytes method and return cow 2024-09-01 22:41:43 +02:00
Moritz Hölting 3332511290 suggest similarly named functions if invoked function does not exist 2024-08-29 00:57:11 +02:00
Hölting, Moritz (Intern) 6422737cf3 fix error on literal command directly after comment 2024-08-28 13:09:19 +02:00

Diff Content Not Available