Commit Graph

26 Commits (c50c16b9dbc54ac6b764a88c35242ab386f36d8f)

Author SHA1 Message Date
_ 06638574f7 🔊 improve error message for this error with the missing math lib 2023-09-30 23:41:12 -05:00
_ ae858ebe70 🐛 bug: patch loader 2023-09-30 10:08:13 -05:00
_ 46cf5837bc 🐛 bug: impl opcodes 2023-09-30 10:05:07 -05:00
_ e59dd85246 🐛 bug: impl opcodes 2023-09-30 10:01:30 -05:00
_ 1943f0a40b 🐛 bug: impl OP_ADDI 2023-09-30 09:57:51 -05:00
_ 81743108c3 🐛 bug: implement OP_MULK 2023-09-30 09:52:42 -05:00
_ 64384e7ca5 🐛 bug: fix loader using the old broken `parse_int` for instruction count 2023-09-30 09:49:36 -05:00
_ 05b1d6e1f7 loading upvalue metadata 2023-09-28 00:55:16 -05:00
_ 96c82c27c8 🐛 bug: fix long string loading and int adding
Long strings didn't work before because I hadn't implemented Lua's varint
decoding. It's an easy translation from the original C.

Int adding previously created a float because I always coerced to float.
Also an easy fix.
2023-09-28 00:27:05 -05:00
_ 5649f38698 add OP_LEN and allow telling luac a file name
This make debugging easier, since the bytecodes will match between
a terminal and lunar_wave
2023-09-28 00:11:25 -05:00
_ 062c6e6a2d 🐛 bug: fix loader bug 2023-09-26 23:19:12 -05:00
_ 2f676adc19 FizzBuzz with some caveats 2023-09-26 22:45:41 -05:00
_ 9811d265f6 for loops with integer counters counting up only 2023-09-26 22:34:47 -05:00
_ 9d29aeb43b tables are working okay
Still missing a lot of stuff. And I'm pretty sure the Rc handling code
is totally wrong.

And they don't have the Lua 5.0 optimization of an internal array,
but that's probably easy to put in.
2023-09-26 20:31:00 -05:00
_ 448ecc08d2 ♻️ refactor: extract module 2023-09-26 16:48:01 -05:00
_ 5466e6ec56 ♻️ refactor: make register access easier to read 2023-09-26 16:45:04 -05:00
_ 72b2d6e656 can create an empty table 2023-09-26 15:49:12 -05:00
_ 693efa47bd impl Hash for Value 2023-09-26 14:38:38 -05:00
_ e87265373c 🐛 bug: shrank the Value size to 16 bytes
This is a little pre-mature, since it's still in the "make it work"
phase of "make it work, make it fast, make it pretty".

But it was bugging me, and I'd have to ditch the raw strings and vecs
some day to add a GC anyway.
2023-09-26 14:10:57 -05:00
_ bc15781457 🐛 bug: fix up printing to mostly match PUC Lua
The numbers are still off, since I didn't separate floats and ints yet
2023-09-26 13:46:01 -05:00
_ 7b1fb49775 use luac in `main` 2023-09-26 13:33:59 -05:00
_ 0d88653c21 the nested functions thing is working, though I wish I didn't have to use recursion 2023-09-25 03:05:00 -05:00
_ 4fd412b415 🚧 wip: I'm not handling nested functions in luac files properly
will fix soon
2023-09-25 01:57:57 -05:00
_ 1518781753 🚧 wip: got the closure test working 2023-09-25 00:23:53 -05:00
_ 44d065d6dd main now runs a luac file directly. No more hard-coded instructions. 2023-09-24 22:14:08 -05:00
_ c718ba67cf make a luac loader sufficient for what I've implemented 2023-09-24 22:10:10 -05:00