Commit Graph

30 Commits

Author SHA1 Message Date
Moritz Hölting 47dc9f0f6b basic transpilation of template string working 2025-09-02 18:05:21 +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 0f553a0234 apply clippy lints from version 0.1.89 2025-08-13 15:26:36 +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 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 84d55977e7 reimplement semantic checking 2025-03-31 21:40:59 +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 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 23b14d7667 rework annotations & transpile single int declarations without assignment 2025-02-27 22:03:45 +01:00
Moritz Hölting 9d5c40f150 implement variable declaration parsing 2025-02-25 20:45:27 +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 9581da3c04 change return type of parse_* functions from Option to Result 2024-09-19 20:54:39 +02:00
Moritz Hölting 83d5f329f9 allow custom handlers instead of only printer 2024-08-23 00:06:58 +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 01040964af Add Lua support to transpiler 2024-04-06 17:23:20 +02:00
Moritz Hölting 9f8b31e2aa Add 'Run' statement to grammar and syntax tree 2024-04-06 15:12:20 +02:00
Moritz Hölting 3c3c9e5b24 Add serde dependency and derive serialization and deserialization for relevant structs 2024-04-06 14:40:44 +02:00
Moritz Hölting 62dd12cab3 implement function calls 2024-04-05 16:16:12 +02:00
Moritz Hölting 4b52985992 Implement conditional operators 2024-04-03 13:46:57 +02:00
Moritz Hölting d4305b3629 Basic implementation of if/else without conditional operators 2024-03-29 18:26:43 +01:00
Moritz Hölting 9d24571b40 Add parser for syntax tree 2024-03-27 21:39:56 +01:00