NVM Virtual Machine 2.0

NVM Virtual Machine is a small, fast, extensible and portable virtual machine.

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!
send us
an update
GPL (GNU General Public License) 
3.0/5 24
Tomasz Fortuna
ROOT \ System \ Emulators
NVM stands for NVM Virtual Machine (yes, right. It’s the still-and-forever popular recursive acronym). NVM Virtual Machine is a small, quite portable and as I hope fast virtual machine. I’ve written it without precise purpose as a work for studies but I’m considering using it for scripting one of my ┬ÁC projects (mobile robot).

It consist of three programs: assembler (+disassembler), execution environment and compiler of a high-level language (higher than assembler). First two are written in C, whereas compiler is written using ocamllex and ocamlyacc.

Currently, the latest version is available at: NVM it still needs a lot of work and tests. Feel free to comment it.

An example of language which is compiled by ocamllex and ocamlyacc:
def fibo($a, $b)

$c = $a + $b;


$a = $b;
$b = $c;

if ($c < 10000)
call fibo($a, $b);

def start($test)
$Sep = 'n';
puts('Fibonacci series:n');
call fibo(1, 1);

Language has support for functions, global and local variables, some string support and that’s all. It has if and while keywords implemented also.

What's New in This Release:

┬· This is a complete and running version, but it needs a lot of testing.
┬· A few examples of the ASM and the higher-level language are provided.
┬· Compilation was tested on the x86, x86_64, and Cygwin (x86) platforms.

Last updated on April 27th, 2007

#extensible virtual machine #portable virtual machine #scripting engine #NVM #microcontrollers #portable #Virtual

Add your review!