NVM 2.0 Released

April 7th, 2007

I'd like to proudly announce availability of the fresh release of NVM (I'm known of overcomplicated sentences, especially in English. Pity, that this overcomplexity doesn't come with grammatical correctness).

NVM stands for NVM Virtual Machine (yes, right. It's the still-and-forever popular recursive acronym). It's 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;

puti($a);
puts($Sep);

$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.

Add a comment [+] Hide the comment form [-]

I'm a bot, please ignore this comment.

I'm not a bot. Tick this box.

This is a mail of my good friend who loves rubbish email. Send him some if you want to land on my not-so-welcome lists: John Sparrow john@thera.be john(at)thera.be