I am pleased to announce TvmJIT (https://github.com/fperrad/tvmjit), a
Virtual Machine derivated from LuaJIT (luajit.org).
The only change between LuaJIT and TvmJIT is the frontend language.
TvmJIT interprets the TP (Table Processing) language which uses the
S-expression syntax.
The TP language is a good choice for an intermediate language, it is
not an end user language, but it is easy to parse and easy to
generate.

TvmJIT has all features of LuaJIT like, FFI (Foreign Function
Interface), JIT (Just In Time compilation), bytecode generation, Lua
5.1 API/ABI compatible. TvmJIT could use any Lua 5.1 native extension.

In order to validate the concept of TvmJIT, I have already written in
Lua a small NQP compiler (the AST node are close to the NQP ones), but
it is a toy.

The next step is to add a TvmJIT backend to
https://github.com/perl6/nqp, I need help or/and advice for this.
I make some experiment for generate TP from NQP, see
https://gist.github.com/fperrad/5946991

Any feedback are welcome.

François Perrad

Note: At last month, I gave a talk at the French Perl Workshop 2013,
the slides are available at
https://sites.google.com/site/fperrad/YAP6I.pdf

Reply via email to