Dialect of Python with explicit variable declaration and block scoping, with a lightweight and easy-to-embed bytecode compiler and interpreter.
Go to file
2020-12-28 16:31:53 +09:00
modules lots of fixups so we can create dicts from the vm 2020-12-28 20:38:26 +09:00
test lots of fixups so we can create dicts from the vm 2020-12-28 20:38:26 +09:00
.gitignore through chapter 19 of Crafting Interpreters 2020-12-26 09:32:21 +09:00
bindNativeMethod.krk We can also put them on more basic types 2020-12-28 09:17:00 +09:00
chunk.c Fix up repl 2020-12-28 10:54:25 +09:00
chunk.h Fix up repl 2020-12-28 10:54:25 +09:00
compiler.c lots of fixups so we can create dicts from the vm 2020-12-28 20:38:26 +09:00
compiler.h Fix up repl 2020-12-28 10:54:25 +09:00
debug.c Clean up some pedantic warning stuff 2020-12-28 11:11:50 +09:00
debug.h through chapter 19 of Crafting Interpreters 2020-12-26 09:32:21 +09:00
kuroko.c clean up repl highlighter 2020-12-28 21:31:46 +09:00
kuroko.h let's build things for a faster vm by default 2020-12-28 16:31:53 +09:00
LICENSE meta stuff 2020-12-26 16:59:43 +09:00
Makefile let's build things for a faster vm by default 2020-12-28 16:31:53 +09:00
memory.c fix upvalue storage being completely broken when we move the stack 2020-12-28 22:02:39 +09:00
memory.h Basic garbage collection; had to fix some stuff for stack preallocation 2020-12-27 16:07:27 +09:00
object.c fix upvalue storage being completely broken when we move the stack 2020-12-28 22:02:39 +09:00
object.h fix upvalue storage being completely broken when we move the stack 2020-12-28 22:02:39 +09:00
README.md Add screenshot of repl to README 2020-12-28 16:08:06 +09:00
rline.c clean up repl highlighter 2020-12-28 21:31:46 +09:00
rline.h add fancy repl 2020-12-28 11:37:38 +09:00
scanner.c Second pass at cleaning up built-ins 2020-12-28 19:26:01 +09:00
scanner.h Second pass at cleaning up built-ins 2020-12-28 19:26:01 +09:00
table.c Clean up some pedantic warning stuff 2020-12-28 11:11:50 +09:00
table.h Clean up some pedantic warning stuff 2020-12-28 11:11:50 +09:00
value.c int32_t is long int on toaru? I should probably fix that 2020-12-28 21:08:55 +09:00
value.h hash tables (which should work with any object as keys?) and string interning from ch 20 2020-12-26 14:33:34 +09:00
vm.c pause gc around bound native calls 2020-12-28 22:18:30 +09:00
vm.h fix upvalue storage being completely broken when we move the stack 2020-12-28 22:02:39 +09:00

Kuroko - A bytecode-compiled scripting language

This bytecode VM / compiler is substantially based on Robert Nystrom's Crafting Interpreters.

screenshot

Instead of implementing Lox, I am aiming for a language with a syntax reminiscent of Python - one with significant whitespace and generally the same keywords.

At the moment, the intent for this project is to add a proper scripting language to Bim, to which both configuration scripts and syntax highlighting will be ported.

Kuroko, as its name should imply, will also be made available in ToaruOS as a general user language, and some utilities may end up being written in it.