diff --git a/README.rst b/README.rst index 08e394d2..5de6a746 100644 --- a/README.rst +++ b/README.rst @@ -5,7 +5,7 @@ Ravi Programming Language :target: https://travis-ci.org/dibyendumajumdar/ravi Ravi is a dialect of `Lua `_ with limited optional static typing and -features `MIR `_ powered JIT compilers. +features a JIT compiler powered by `MIR `_ as well as experimental support for AOT compilation to native code. The name Ravi comes from the Sanskrit word for the Sun. Interestingly a precursor to Lua was `Sol `_ which had support for static types; Sol means the Sun in Portugese. @@ -38,6 +38,7 @@ Features * Compact JIT backend `MIR `_. * A `distribution with batteries `_. * A `Visual Studio Code debugger extension `_ - interpreted mode debugger. +* A new compiler framework for `JIT and AOT compilation `_. * `AOT Compilation to shared library `_. Documentation diff --git a/tests/language/ravi_tests1.ravi b/tests/language/ravi_tests1.ravi index 30ad989b..59b85b1f 100644 --- a/tests/language/ravi_tests1.ravi +++ b/tests/language/ravi_tests1.ravi @@ -2284,6 +2284,24 @@ do end print 'Test 105 OK' +do + local function x() + return 1,2.5, nil, 'hi', {}, table.intarray(2), table.numarray(2),nil + end + local function y() + local a:integer,b:number,c:string,d:string,e:table,f:integer[],g:number[],h:UserType = x() + end + check(y, 'GETUPVAL', 'CALL', 'TOINT', 'TOFLT', 'TOSTRING', + 'TOSTRING', 'TOTAB', 'TOIARRAY', 'TOFARRAY', 'TOTYPE', 'RETURN') + ravi.dumplua(y) + y() + compile(x) + compile(y) + y() +end +print 'Test 106 OK' + + for k,v in pairs(opcodes_coverage) do print(k, v)