Releases: kratenko/lovem
Explicit functions.
Different approach for call/return using explicit functions inside assembler/bytecode instead of labels.
PoC of frames on the value stack.
A working implementation that stores frames for calls and returns on the main stack. Only a though experiment though.
A simple way to call/return.
We explore a solution to have a call that can also return.
Global variables.
Support for global variables in VM and assembler.
Limited execution.
We add an optional limit for the number of instructions our VM will execute, so that we can counter infinite loops in programs.
Branching.
We add conditional jumps, aka branching, aka if to our VM and assembler.
Add support for labels to the assembler.
We get finally rid of the need to count bytes by introducing labels to our assembler.
Teach our assembler to run programs.
Our assembler lovas becomes useful, as it can now execute the programs it assembles.
PoC of the Assembler.
The assembler lovas now produces bytecode.
lovas - an assembler
We start the work on an experimental assembler.