Commit Graph

346 Commits

Author SHA1 Message Date
Ratstail91
eaad8d5241 Messing with tests 2023-08-28 23:31:09 +10:00
Ratstail91
308fba1a8c Added carriage return as escapable character 2023-08-28 22:04:21 +10:00
Ratstail91
db52c13613 Removed extra scope around for loop body blocks, resolved #107 2023-08-22 01:11:49 +10:00
Kayne Ruse
cce8ae1ea3 Added disassembler, thanks @hiperiondev, bumped minor version 2023-08-14 23:06:05 +10:00
Kayne Ruse
ce54912232 Removed an extra pair of SCOPE_BEGIN and SCOPE_END from function bytecode
This should reduce the memory footprint a bit
2023-08-14 22:17:33 +10:00
Kayne Ruse
23b55fc360 Fixed execFnDecl accidentally modifying the literalCache for a moment, resolved #105 2023-08-14 10:47:10 +10:00
Kayne Ruse
62fe86f99b Fixed indexing in argument lists, resolved #102 2023-08-09 02:25:07 +10:00
Ratstail91
f885fdaf4c Short circuits are now functioning correctly, resolved #73 2023-08-06 04:28:02 +10:00
Kayne Ruse
cfec1b6911 Added int to float coercions to function args and returns, when specified 2023-08-06 02:17:32 +10:00
Kayne Ruse
3783c94064 Allow trailing commas when writing a compound 2023-08-04 18:43:07 +10:00
Kayne Ruse
64944c24f6 Snipped some duplicate code, resolved #97 2023-08-04 14:52:01 +10:00
Kayne Ruse
604604e8bc Two opcodes weren't being used, resolved #98 2023-08-04 14:51:08 +10:00
Kayne Ruse
67e49b7477 Fixed the way an identifier was handled, resolved #99 2023-08-04 14:45:07 +10:00
Kayne Ruse
967963c9d7 Fixed a spelling mistake 2023-08-03 15:22:06 +10:00
Ratstail91
7690dce3f6 Fixed casting and grouping 2023-07-31 17:26:07 +10:00
Ratstail91
1ed1993489 Whoops, lets try that again. 2023-07-31 16:55:27 +10:00
Ratstail91
10dbe8f8f1 Fixed casting + grouping, resolved #67 2023-07-31 16:20:45 +10:00
Kayne Ruse
4137935468 Added sign() and normalize() to standard lib 2023-07-30 17:46:00 +10:00
Kayne Ruse
ebeabcb9d4 Reordered some functions for clarity, caught a bug or two 2023-07-28 02:42:57 +10:00
Kayne Ruse
61e3cdba82 Fixed a potential linker issue 2023-07-26 08:13:05 +10:00
Kayne Ruse
b4a3e9b42b Renamed drive system files, see #88 2023-07-26 00:53:41 +10:00
Kayne Ruse
6347778ead Moved drive system to repl, resolved #88 2023-07-26 00:46:47 +10:00
Kayne Ruse
ba98624e82 Fixed C-API function name, resolved #87, thanks @hiperiondev 2023-07-26 00:22:45 +10:00
Kayne Ruse
8e5ec7d847 Tweaked docs in repl_tools.h and toy.h 2023-07-22 19:11:45 +10:00
Kayne Ruse
d2341ae227 Bumped version number 2023-07-21 03:08:06 +10:00
Kayne Ruse
3782f2aaaa Comment tweak 2023-07-21 02:59:07 +10:00
Kayne Ruse
cdfe17ad53 Added mecha-style comment docs to a bunch of headers 2023-07-20 19:44:40 +10:00
Kayne Ruse
c3c46b4fc6 Refactored parseIdentiferToValue(), removed unneeded safties 2023-07-15 00:34:15 +10:00
Kayne Ruse
0e41b00ef4 Fixed a post-fix increment issue, highlighted in the game engine 2023-06-20 13:54:21 +10:00
Kayne Ruse
f6ec6a8c73 The any type is now recognized as a type properly 2023-06-19 23:16:46 +10:00
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
f25f389b4e Removed a macro that potentially broke the build
Gonna have to live with repl code in the lib for now.
2023-06-14 16:53:48 +10:00
Kayne Ruse
54e82846c3 Massive dict copying optimisation, read more
I simply pre-allocated the new dict to the right size. This skips
internal copying logic which was repeated on every expansion. This
Should increase scope copying as well.

I applied the same logic to arrays, but the increase in speed was tiny.
2023-06-13 14:49:46 +10:00
Ratstail91
50d03e28fc Fixed MSVC compilation 2023-06-12 00:05:24 +10:00
Kayne Ruse
763581c73b Added header-only parsing to the repl, read more
Also:

* Ensured TOY_VERSION_BUILD is consistent throughout the whole build
* Updated README.md
2023-06-07 23:55:30 +10:00
Kayne Ruse
cdb2613e5d Disallowed fn decl in for loop pre clause 2023-06-07 19:20:50 +10:00
Kayne Ruse
733df87c08 Added dist target, lowered recursion depth limit 2023-06-07 14:58:51 +10:00
Kayne Ruse
bfd506f497 Forgot memory allocator for reffunctions 2023-06-07 02:02:35 +10:00
Kayne Ruse
18b59c9e84 Bumped version number 2023-06-07 00:11:34 +10:00
Ratstail91
d3eb31d964 Added TOY_DISABLE_REPL option for compiling 2023-06-07 00:04:05 +10:00
Kayne Ruse
07f4a98b95 Replacing Toy_Literal function bytecode with Toy_RefFunction, addressing #77
This seems to have worked way too easily.
2023-06-06 23:35:59 +10:00
Kayne Ruse
bb81b8c474 Changed recursion limit to 10,000 (was 200) 2023-06-06 21:02:01 +10:00
Kayne Ruse
cf6db57787 Whitespace tweak 2023-03-25 01:43:51 +11:00
Kayne Ruse
17f0e4476b Caught a bug that the test cases failed to find 2023-03-17 21:58:13 +11: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
Ratstail91
4b83f1f0d6 Fixed a dumb typo 2023-03-15 06:39:19 +11:00
Kayne Ruse
e2fa1cf2e8 Moved lib_runner's drive system into the core of the lang 2023-03-15 06:12:35 +11:00
Kayne Ruse
a04d2c4816 Tweaked TOY_EXPORT omitting extra repl stuff 2023-03-15 04:56:26 +11:00