Commit Graph

13 Commits

Author SHA1 Message Date
Dummi26
a43a23da8c - added type-checking for builtins. Except for the List-functions, all builtins should now be properly type-checked.
- changed List.insert(..) from (list, index, element) to (list, element, index) to be more in line with List.push(list, element)
2023-03-16 15:33:43 +01:00
Dummi26
585017da46 improved and fixed some bugs with the switch! unhandled type error and some builtins 2023-03-14 20:58:35 +01:00
Dummi26
862418ce98 almost functional type checking for builtins; builtins return types work
as expected now (for List.get, Thread.await() etc)
2023-03-14 20:14:30 +01:00
Mark
5ca0373640
(2) 2023-03-14 12:42:39 +01:00
Mark
5d868a759d
basis for type-checked builtins (1) 2023-03-14 12:40:15 +01:00
Dummi26
d0cf7ab588 added the concept of references: prefix any (single) type or variable with & to get a reference. This is used for List.{push, insert, pop, remove, get} to avoid copying the list unnecessarily. 2023-03-13 23:05:27 +01:00
Dummi26
a4fbb8dd97 - fixed a bug with t.fits_in(rhs) regarding inner types
- added //...\n and /*...*/ comment syntax
- added tuple.n indexing, where n is an int <= the tuples length (this is checked before the script runs)
2023-03-12 15:42:19 +01:00
Dummi26
05ecc809c3 - fixed a bug with switch syntax closing brace being recognized twice by the parser
- writing to a variable when the type that is being written doesn't fit will shadow the variable to prevent weird issues where a variable would be changed to a different type from within a block, then after that block it would still have data of that type but its type wouldn't reflect this, causing switch! to miss some cases. might remove shadowing in the future, who knows.
- added run_command_get_bytes
2023-03-12 13:14:18 +01:00
Dummi26
369b37371c adjusted list syntax to be [<content> ...] to create a visual difference from tuples, which don't have the ... before the ]. 2023-03-12 12:43:21 +01:00
Dummi26
ff1f487a6f updated output format, added script/builtins.rs 2023-03-12 12:35:45 +01:00
Dummi26
6da8a77304 fixed some bugs 2023-03-10 13:44:18 +01:00
Dummi26
efff8c1d70 . 2023-03-09 18:51:58 +01:00
Dummi26
63721b9e26 initial code commit, implemented switch statements and if-else syntax. 2023-03-09 13:24:52 +01:00