CanoScript is now in its own repo
Implementation of a virtual machine in C.
VM currently has 45 instructions as well as a some native functions. List can be found in tim.h. There is also a working assembly which contains support for all instructions in the VM.
Quick Start:
make
./tasm <assembly_file.tasm>
./tire <bytecode_file.tim>
Example of hello world in assembly:
@imp "stddefs.tash"
push_str "Hello, world!\n"
get_str 0 ; Index of the string on the data stack
push STDOUT
write ; length is inferred because the string is null-terminated