KoiViMa stands for Korean Inspired Virtual Machine.
It is an experimental object oriented application virtual machine written
in the Java programming language.
KoiViMa's main features are:
Object oriented: Not only is KoiViMa itself written in an object
oriented language. Even the code it runs consists of objects. Every
single instruction and even data values are objects.
Extensible: Each instruction for KoiViMa is represented by an operator,
which is a Java class. Adding a new operator is simply done by adding
a class to the specific
Pluggable Execution context: A program in KoiViMa runs in an execution context,
representing some form of machine. The execution context is a wrapper
for the code itself, the stack, different kinds of memory, registers
and so on. The execution context can easily be customized allowing
KoiViMa to represent different kinds of computers.
Self adapting compiler: KoiViMa comes with a compiler that updates it's
instruction set by searching the
It is capable to compile code for different instruction sets and execution