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 |