Kayne Ruse
5a867ac627
Fixed some 'size_t' issues and a bug caught on a different platform
2026-04-23 10:40:00 +10:00
Kayne Ruse
991d29e3e6
Enabled CI for other supported platforms
2026-04-23 10:10:58 +10:00
Kayne Ruse
accb7f9fb4
Started work on an AST inspector
2026-04-22 15:57:55 +10:00
Kayne Ruse
63dfd33e5e
Added arrays and tables to the bytecode inspector
...
Currently searching for an issue related to compounds.
2026-04-22 14:31:17 +10:00
Kayne Ruse
9bb115f732
Disabled bloated and verbose testing output
2026-04-22 13:06:14 +10:00
Kayne Ruse
8875b6968b
Updated VM unit tests
2026-04-22 12:53:02 +10:00
Kayne Ruse
97d16c1184
Updated compiler unit tests
2026-04-22 12:07:40 +10:00
Kayne Ruse
47c5d49069
Updated parser unit test, fixed a missing stack pop for binary exprStmt
2026-04-22 11:40:53 +10:00
Kayne Ruse
2c92f829e1
Fixed stack overflow caused by expression statements
...
This is a longstanding bug, so I'm glad its fixed, even if its only a
bandaid.
This does break some tests, but I'm too tired and these tests are out of
date.
2026-04-17 23:43:30 +10:00
Kayne Ruse
5b101d763e
Expanded bytecode inspector, added functions to Toy_copyValue
2026-04-17 11:55:46 +10:00
Kayne Ruse
81c95ff69d
Cleared out some unneeded notes
2026-04-17 09:25:18 +10:00
Kayne Ruse
88100b128a
Implemented native C functions called from Toy scripts
...
There's only example functions for now, but I'll add type-specific
functions later.
2026-04-16 21:14:42 +10:00
Kayne Ruse
3a0f11ebb4
Added string type check
2026-04-16 19:30:23 +10:00
Kayne Ruse
f9790b99ce
Moved type coersion check, functions can be compared
...
Also updated some tagged comments
2026-04-15 15:04:54 +10:00
Kayne Ruse
dde52f9d8a
Workflow tinkering
2026-04-15 14:17:32 +10:00
Kayne Ruse
cda4bee6ee
Double-checked strncpy doesn't have bugs
...
Apparently the linux kernel removed strncpy entirely.
2026-04-13 12:09:09 +10:00
Kayne Ruse
9a10fadada
Tweaked CI
2026-04-12 23:15:56 +10:00
Kayne Ruse
8eefbc8a0c
Added remaining opcodes to inspector
...
Also used some coloring for terminal outputs
2026-04-12 23:04:31 +10:00
Kayne Ruse
e24823924a
Comment tweaks
2026-04-12 15:02:07 +10:00
Kayne Ruse
c0c03a4110
Functions are working, tests incomplete
...
This required a massive cross-cutting rework to the scope system,
multiple subtle bugfixes and relearning of the parser internals, but it
does appear that functions are working correctly.
A few caveats: for now, parameters are always constant, regardless of
type, return values can't be specified, and some script tests have been
written.
Most importantly, a key feature is working: closures.
2026-04-12 11:52:58 +10:00
Kayne Ruse
b0d9c15d33
Added a benchmark for JS
2026-04-12 08:55:15 +10:00
Kayne Ruse
24e5d8081c
Tweaked a doc
2026-04-12 08:42:06 +10:00
Kayne Ruse
42aef306a9
Added a lua benchmark for performance comparisons
2026-04-12 08:40:28 +10:00
Kayne Ruse
6f27d07829
Added a few opcodes to the inspector
2026-04-12 00:19:20 +10:00
Kayne Ruse
b32ea9f309
Started working on a decompiler, called 'bytecode inspector'
...
It only has a few instructions for now, but I can flesh it out over
time.
2026-04-11 13:37:26 +10:00
Kayne Ruse
49a825aaf9
Removed some old notes
2026-04-11 02:06:59 +10:00
Kayne Ruse
baa81b1aa9
Removed annoying workingdir thing
2026-04-11 01:55:11 +10:00
Kayne Ruse
9553edef9c
Added tools for vscode
2026-04-11 01:48:30 +10:00
Kayne Ruse
66155fa213
Tweak, but I need a decompiler now
2026-04-10 16:19:03 +10:00
Kayne Ruse
547229e150
Script tests re-added, all tests can run under gdb
...
Also fixed a minor bug with printing, and removed the ability to
configure the parser.
Added and updated QUICKSTART.md as a quick way to get people started.
There's some broken scripts under 'scripts/' that require functions to
work properly.
2026-04-10 15:28:56 +10:00
Kayne Ruse
211744535e
Tweak
2026-04-10 12:15:02 +10:00
Kayne Ruse
3a24fbf6e1
Tweaked CI
2026-04-07 22:00:54 +10:00
Kayne Ruse
842f041a50
VM test is passing
2026-04-07 21:34:05 +10:00
Kayne Ruse
7408a24a12
Scope test is working
2026-04-07 20:48:32 +10:00
Kayne Ruse
09fc6d5279
Compiler test is passing
2026-04-07 20:36:58 +10:00
Kayne Ruse
f25e81cd09
Parser test is passing
2026-04-07 20:14:27 +10:00
Kayne Ruse
48072f0dd1
AST test is passing
2026-04-07 20:06:44 +10:00
Kayne Ruse
522fc3e64b
Value test is passing
2026-04-07 19:44:28 +10:00
Kayne Ruse
f4ce6ad9f1
String test is passing
...
Note: String fragmentation is no longer supported
2026-04-07 19:22:31 +10:00
Kayne Ruse
3f35502694
Updatedd license
2026-04-07 12:30:25 +10:00
Kayne Ruse
f06218b9cd
'print' now works as expected
...
String literals are now stored in the bucket mid-compilation, but this
is fine, as the buckets are freed one the bytecode is complete.
2026-04-06 23:08:17 +10:00
Kayne Ruse
1ae3fcbf73
WIP: Scopes weren't tracking their content sizes
...
'print' no longer segfaults from a long chain of indirect memory frees.
It still doesn't work though, which is odd.
2026-04-06 21:50:41 +10:00
Kayne Ruse
abae97b6e5
Fixed workflow
2026-04-05 18:48:27 +10:00
Kayne Ruse
fbb7e1bc54
WIP: Retreived the unit tests (formerly test cases)
...
Some of these still work, others have just been dummied out for now.
Also added tests for console colors tool, and tweaked it to work
properly.
2026-04-05 18:42:56 +10:00
Kayne Ruse
57fe9bb00d
WIP: Compiles but still very broken
2026-04-05 17:04:30 +10:00
Kayne Ruse
914ee6fcfa
WIP: Fixed strings and scopes, still reworking impacted areas
2026-04-05 10:13:58 +10:00
Kayne Ruse
ba9418f365
Removed unneeded files and console colors are disabled
2026-04-04 20:35:12 +11:00
Kayne Ruse
98208f4bb5
Began cleaning up this project for a soft reboot
2026-04-04 19:32:45 +11:00
Kayne Ruse
5a0012d73a
Tweaked README
...
...because I'm still not feeling like coding, thanks to this damn flu.
2025-03-01 12:30:53 +11:00
Kayne Ruse
24d111e52d
Updated links after moving the repo
2025-02-28 20:12:00 +11:00