Commit Graph

34 Commits

Author SHA1 Message Date
Kayne Ruse
2157b2f540 Fixed an obscure compiler bug involving assignments and indexing, read more
TOY_OP_INDEX_ASSIGN_INTERMEDIATE was being used when it shouldn't have.

Now the check runs down the whole binary->right branch to ensure the given
node doesn't exist in that tree.
2023-06-15 12:29:25 +10:00
Kayne Ruse
1481216e69 Fixed chained functions, resolved #52 2023-06-14 17:41:30 +10:00
Kayne Ruse
1095e1a885 Added type casting a grouping bugfix, resolved #76 2023-03-17 20:57:47 +11:00
Kayne Ruse
2edfbbe3ef Found a compiler bug, thanks Aedan! 2023-03-17 14:01:16 +11:00
Kayne Ruse
f2f8aed23a Added short-circuiting support to && and || 2023-03-11 17:59:09 +11:00
Kayne Ruse
6fa224fa7b Hooks can't be dict keys, tweaked Toy_readFile 2023-02-18 16:47:38 +00:00
Kayne Ruse
1668dca255 Tweaked some APIs, hid some functions I don't want in the API 2023-02-16 13:06:07 +00:00
Kayne Ruse
9725f3c6a3 Patched some very obscure bugs 2023-02-12 16:54:44 +00:00
Kayne Ruse
aeb008c684 Fixed unary negation bug, removed newline from print 2023-02-10 18:38:25 +00:00
Kayne Ruse
ee226ea426 Strengthened constness for cstrings and bytecode 2023-02-10 08:52:38 +00:00
Kayne Ruse
2e2bee4fa3 Renemed all variables to fit into a namespace
Basically, all Toy varaibles, functions, etc. are prepended with "Toy_",
and macros are prepended with "TOY_". This is to reduce namespace
pollution, which was an issue pointed out to be - blame @GyroVorbis.

I've also bumped the minor version number - theoretically I should bump
the major number, but I'm not quite ready for 1.0 yet.
2023-01-25 12:55:55 +00:00
Kayne Ruse
e6e24ca19f Began working on runner library 2023-01-20 13:42:45 +00:00
Kayne Ruse
ae1dc5841e Added ternary operator, resolved #46 2023-01-14 10:24:15 +00:00
Kayne Ruse
3498baad9b Resolved #45, Exports region removed 2023-01-13 16:12:44 +00:00
Kayne Ruse
f6367fa89d Updated interpreter 2022-11-26 09:43:19 +00:00
Kayne Ruse
923cf70c06 Minimal build of the refstrings in the literal structure 2022-11-23 12:52:49 +00:00
Kayne Ruse
2c143a8be5 Moved tests from scripts/ to test/scripts/ 2022-11-11 14:51:47 +00:00
Kayne Ruse
5d240f85a6 BUGFIX: chained calls not being dottified 2022-11-04 11:13:40 +01:00
Kayne Ruse
cceefa6375 Resolved #38 2022-11-03 16:25:29 +01:00
Kayne Ruse
1baa65cc95 Removed annoying assertion test messages from test output 2022-10-19 23:34:15 +01:00
Kayne Ruse
bd348abf32 Added dot chaining for functions
Well, it should work without issues...
2022-10-14 23:58:15 +01:00
Kayne Ruse
99bcffe77c Typo in a comment 2022-10-02 16:22:30 +11:00
Kayne Ruse
256538e1f9 Added a utility to call toy functions from C 2022-10-01 13:51:40 +01:00
Kayne Ruse
6a086395be Renamed Node to ASTNode 2022-09-18 19:14:37 +01:00
Kayne Ruse
29b1c41064 Implemented #27, easy coercion from int to float 2022-09-14 16:30:54 +01:00
Kayne Ruse
17f1dc8647 cleaning up tests 2022-09-06 09:22:50 +01:00
Kayne Ruse
2aecf6e8a1 Implemented typeof and added resetInterpreter() 2022-09-05 10:56:35 +01:00
Kayne Ruse
2a3206d951 Rearranged some internal initialization to support multiple files being run 2022-09-05 09:55:04 +01:00
Kayne Ruse
7fb9ebbce0 Import and export are working 2022-09-05 06:39:05 +01:00
Kayne Ruse
dceb83e618 Suppressed print statements during tests 2022-09-05 05:30:06 +01:00
Kayne Ruse
cc27da50df Reworked dot.toy into a proper test 2022-09-04 10:37:19 +01:00
Kayne Ruse
4ad33a3082 Fixed jumps in functions issue 2022-09-03 07:57:25 +01:00
Kayne Ruse
3a4017cea5 Lots of runtime errors 2022-08-30 12:09:11 +10:00
Kayne Ruse
1c6c7e5d4f I GIVE UP 2022-08-29 21:38:54 +10:00