Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Lua2PIR translator

4 views
Skip to first unread message

Klaas-Jan Stol

unread,
Jan 10, 2006, 11:39:50 AM1/10/06
to perl6-i...@perl.org
Hi,

As you know, I've been playing with Lua for some time now, and my
attempt to write a Lua compiler targetting Parrot has not been
completely unsuccessful, but it was quite some work.

Anyway, at some point I realized that PIR looks very much like Lua
bytecodes (which I had inspected at that time already). So, I thought it
may be a nice project to write a Lua2PIR translator, which takes a
binary Lua file (compiled with the Lua compiler, so you'll need to get
Lua (to be found at www.lua.org))

If you are interested, it can be found at

http://members.home.nl/joeijoei/lua2pir/

It works pretty good. It needs still many tests, in order to check if
all special cases are covered, but quite complex examples do work
already. Furthermore, the Lua PMCs have to be integrated, as it just
uses the Parrot basic types (Float, String, Hash, etc). It's also nice
to see what kind of code the Lua compiler should more or less be generating.

Kind regards,

Klaas-Jan Stol

François PERRAD

unread,
Jan 11, 2006, 3:33:00 PM1/11/06
to Klaas-Jan Stol, perl6-i...@perl.org

I've integrated lua2pir in languages/lua/t/harness (monkey too).
I obtain the following result :

$ cd languages && perl -I../lib -Ilua/t lua/t/harness --use-lua2pir

Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
lua\t\assign.t 4 1024 5 4 80.00% 1-4
lua\t\basic.t 8 2048 9 8 88.89% 1-7 9
lua\t\constructor.t 2 512 5 2 40.00% 2 5
lua\t\examples.t 1 256 3 1 33.33% 3
lua\t\expr.t 3 768 6 3 50.00% 4-6
lua\t\function.t 1 256 2 1 50.00% 2
lua\t\if.t 5 1280 5 5 100.00% 1-5
lua\t\math.t 23 5888 23 23 100.00% 1-23
lua\t\repeat.t 2 512 2 2 100.00% 1-2
lua\t\string.t 7 1792 7 7 100.00% 1-7
lua\t\tables.t 1 256 2 1 50.00% 1
lua\t\while.t 4 1024 4 4 100.00% 1-4
Failed 12/21 test scripts, 42.86% okay. 61/143 subtests failed, 57.34% okay.

Tests concerning the Lua Standard Libraries (basic, math, string) fail
because lua2pir refers its own library.

François.

NB: l2p & luac must be in your PATH, and lualib.pbc near parrot executable.

>Kind regards,
>
>Klaas-Jan Stol


0 new messages