Commit Graph

60 Commits

Author SHA1 Message Date
Moritz Hölting 41700fd783 fix parse error panicing in function args 2025-08-27 10:08:41 +02:00
Moritz Hölting 8980a0b21d allow escaping of $ in macro string 2025-08-26 21:15:41 +02:00
Moritz Hölting 72ed16893d implement new tokenizer & parser for TemplateStringLiteral 2025-08-25 19:12:20 +02:00
Moritz Hölting 598158d0d4 rename MacroString to TemplateString 2025-08-25 15:51:21 +02:00
Moritz Hölting 528b4edac6 implement compile-time function arguments 2025-08-19 15:14:12 +02:00
Moritz Hölting bd20af0f3d fix comptime variable errors 2025-08-13 18:24:48 +02:00
Moritz Hölting 0f553a0234 apply clippy lints from version 0.1.89 2025-08-13 15:26:36 +02:00
Moritz Hölting 50c836d4f0 change syntax of array declaration: move brackets from after name to after type 2025-08-13 12:58:35 +02:00
Moritz Hölting 1b181057e5 add script for extracting EBNF grammar from doccomments 2025-08-13 09:51:46 +02:00
Moritz Hölting 008468621e implement rest of member access transpilation 2025-08-06 15:28:03 +02:00
Moritz Hölting b81f47bde3 implement first parts of member access 2025-06-18 11:44:26 +02:00
Moritz Hölting fe2934f120 run as expression, implement return statement 2025-04-07 18:01:35 +02:00
Moritz Hölting 8c29d83665 allow importing global variables, get rid of functions and aliases field of transpiler 2025-04-07 01:09:34 +02:00
Moritz Hölting c3aaca6abf implement global variables (without imports) 2025-04-01 15:19:22 +02:00
Moritz Hölting ab1ca8ee37 implement first version of compiler variables 2025-04-01 01:00:36 +02:00
Moritz Hölting 232409a55c change the syntax to set the type of tags 2025-03-31 23:01:27 +02:00
Moritz Hölting 84d55977e7 reimplement semantic checking 2025-03-31 21:40:59 +02:00
Moritz Hölting 992b6ca300 implement integer and boolean function arguments 2025-03-30 19:38:08 +02:00
Moritz Hölting 7650224aac improve compiler-internal function print 2025-03-28 13:54:25 +01:00
Moritz Hölting 07cacde886 first version of print internal function for easier displaying variable values 2025-03-16 23:26:20 +01:00
Moritz Hölting d10ae975f5 implement tag and array variables 2025-03-16 20:46:18 +01:00
Moritz Hölting 72a2121b61 implement score variable declarations 2025-03-15 20:28:26 +01:00
Moritz Hölting d123d2c0ed allow passing some variables into lua 2025-03-14 12:51:17 +01:00
Moritz Hölting 43f0af6435 change conditional to use expression instead of individual condition 2025-03-11 19:43:26 +01:00
Moritz Hölting 2621713733 implement more primary expressions (identifier, parenthesized, prefixed) 2025-03-10 15:57:38 +01:00
Moritz Hölting 096e637a77 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 8dfd1e053b implement variable assignments 2025-03-07 17:36:25 +01:00
Moritz Hölting 23b14d7667 rework annotations & transpile single int declarations without assignment 2025-02-27 22:03:45 +01:00
Moritz Hölting 4f31f08875 fix variable declaration parsing 2025-02-25 20:45:27 +01:00
Moritz Hölting 9d5c40f150 implement variable declaration parsing 2025-02-25 20:45:27 +01:00
Moritz Hölting c880b58f64 require macros to be present in function parameters 2024-11-11 22:54:24 +01:00
Moritz Hölting 550459922d implement first version of macros 2024-11-10 16:04:10 +01:00
Moritz Hölting f7414ad23f use full hash length as name, improve docs 2024-09-27 16:26:24 +02:00
Moritz Hölting 973e6c2c1f update shulkerbox dependency 2024-09-22 13:33:00 +02:00
Moritz Hölting 1f4cad5634 implement tag declaration 2024-09-21 22:45:05 +02:00
Moritz Hölting 9581da3c04 change return type of parse_* functions from Option to Result 2024-09-19 20:54:39 +02:00
Moritz Hölting 659683bd39 add SourceCodeDisplay to MissingFunctionDeclaration error 2024-08-27 22:55:26 +02:00
Moritz Hölting 4505def6c0 fix code error message not being displayed 2024-08-24 00:46:37 +02:00
Moritz Hölting 83d5f329f9 allow custom handlers instead of only printer 2024-08-23 00:06:58 +02:00
Moritz Hölting bc25da6f2c cleanup and correct string literal content implementation 2024-07-08 15:03:09 +02:00
Moritz Hölting 398fce2bd6 add some integration tests 2024-06-24 21:37:02 +02:00
Moritz Hölting b428c64f89 more ergonomic receive function of handler 2024-06-21 10:09:30 +02:00
Moritz Hölting dd79541ae9 add tracing crate for logging 2024-06-15 21:49:05 +02:00
Moritz Hölting 899a973315 implement from-import statement 2024-06-12 18:09:32 +02:00
Moritz Hölting e80809b3f9 Implement public keyword for functions 2024-06-09 17:59:56 +02:00
Moritz Hölting f00302c8af Fix unexpected whitespace in condition error 2024-04-13 13:41:24 +02:00
Moritz Hölting 2bac397096 implement remaining execute operators 2024-04-09 21:25:19 +02:00
Moritz Hölting a818325ce9 Implement execute blocks
- move conditionals to execute blocks
- implement "as" in execute blocks
2024-04-09 20:42:11 +02:00
Moritz Hölting e0d913612b Box lua code and switch to lua-jit 2024-04-07 21:12:47 +02:00
Moritz Hölting b105a45154 Introduce namespace configuration syntax 2024-04-06 21:49:25 +02:00