Commit Graph

106 Commits

Author SHA1 Message Date
Astrash
1623a4f958 Move terrascript 2 to separate module 2023-10-23 13:28:26 +11:00
Astrash
375f0ba60f Change Type enum to interface
Also removes legacy v1 code from v2
2023-10-23 13:12:35 +11:00
Astrash
d139019e01 Validate returns inside if statements 2023-10-20 13:56:52 +11:00
Astrash
08c1447967 Remove hardcoded print native java call 2023-09-12 14:22:37 +10:00
Astrash
37b5a2ec92 Use static ints instead of enum 2023-09-12 13:42:36 +10:00
Astrash
defb31e309 Mangle bytecode method names according to declaration scope 2023-09-12 11:24:30 +10:00
Astrash
0a46e9050d Simplify some logic 2023-09-12 09:53:18 +10:00
Astrash
002da30fd5 Improve codegen readability 2023-09-11 19:09:08 +10:00
Astrash
e177c9e792 Codegen implementation stuff & typed AST nodes 2023-09-11 18:09:35 +10:00
Astrash
b1bfe00bf3 Implement function and variable codegen 2023-09-08 11:36:40 +10:00
Astrash
9a75ee78a1 Salvage TerraScript codegen code from dead laptop 2023-08-08 07:39:47 +00:00
Astrash
0e9cbd8e2f Initial terrascript 2 commit 2023-08-05 15:53:01 +10:00
Astrash
772675639e Better error handling + other changes 2023-07-29 20:29:16 +10:00
Astrash
13300861ee Parse precedence via grammar 2023-07-29 12:03:33 +10:00
Astrash
719b9a06f4 Simplify code 2023-07-29 08:57:43 +10:00
Astrash
f5b115e618 Formatting & name changes 2023-07-27 12:52:15 +10:00
Astrash
e1e4a63517 Add basic user defined function support 2023-07-27 11:27:15 +10:00
Astrash
0dc1492c4d Handle functions in scope 2023-07-25 14:08:09 +10:00
Astrash
a184fe40d0 Name changes 2023-07-24 18:52:54 +10:00
Astrash
f462b8198b Move inLoop flag to ScopeBuilder 2023-07-24 18:05:43 +10:00
Astrash
de3b213deb Refactor some parsing logic 2023-07-24 17:31:06 +10:00
Astrash
be444f75b7 Block -> executable 2023-07-24 17:30:37 +10:00
Astrash
d98238c262 Remove statement class 2023-07-23 19:33:17 +10:00
Astrash
8e96745a85 checkReturnType -> ensureReturnType 2023-07-23 19:17:50 +10:00
Astrash
802bce40c8 Move statement end handling to parseExpression 2023-07-23 19:17:08 +10:00
Astrash
76728fe593 More refactoring 2023-07-23 17:55:29 +10:00
Astrash
f3d1751c87 Terrascript refactor 2023-07-23 16:11:56 +10:00
dfsek
b3a8f375bc reformat all code 2022-07-06 19:28:07 -07:00
Zoë
dbd5edabae Imports 2022-06-26 21:48:38 -07:00
dfsek
036a166909 fix ParserTest 2022-06-16 23:40:52 -07:00
dfsek
ef0692977c bump terrascript addon version 2022-06-16 20:17:42 -07:00
dfsek
2001b4c6f8 remove TerraScript PerformanceTest 2022-06-15 20:03:32 -07:00
dfsek
e5fa4fd1f1 remove decimal on whole numbers (keeps parity with old scripts) 2022-06-14 22:18:31 -07:00
dfsek
8c9afc4592 recursively update variable table size 2022-06-14 22:01:54 -07:00
dfsek
3122962dc1 fix Function#applyDouble 2022-06-14 21:54:19 -07:00
dfsek
14e035bf2e use applyDouble and applyBoolean in applicable ops 2022-06-14 21:51:05 -07:00
dfsek
b2cc0d48aa use local variable table for terrascript 2022-06-14 21:30:58 -07:00
dfsek
613b96288a add primitive overrides to TerraScript items 2022-06-14 19:09:43 -07:00
dfsek
5d703327db bump versions 2022-06-04 15:11:59 -07:00
dfsek
a5db29f2ad fix TerraScript EqualsStatement 2022-06-02 22:04:52 -07:00
dfsek
20e6b8bb63 promote terrascript log function to info level 2022-06-02 22:03:36 -07:00
dfsek
4c2ece3eb7 dont shade fastmath when it's unneeded 2022-05-30 17:56:13 -07:00
dfsek
01d4174092 bump all addon versions 2022-05-29 21:33:45 -07:00
dfsek
ee373bbe4b reformat code 2022-05-26 19:40:41 -07:00
dfsek
49857f6b91 remove Properties 2022-05-26 19:33:37 -07:00
dfsek
8655f7811a remove rotationutil methods 2022-05-26 19:32:20 -07:00
dfsek
3ec15960cf reduce overhead of profiler when not profiling 2022-05-26 12:51:18 -07:00
dfsek
63bfa6bf14 fix NotEqualsStatement 2022-05-25 23:01:14 -07:00
dfsek
0c3d4f4f4e lazily evaluate terrascript binary operations 2022-05-24 18:25:24 -07:00
dfsek
0c302456a2 use shadowJar for addon packaging 2022-05-05 08:32:48 -07:00