axe.lua: | Functions | Modinfo | Source |
local LuaState:byte ptr = luaL_newstate()The result of this instantiation is a pointer to a structure which contains the full state of the new VM and has to be passed as the first argument to almost any other Lua API function.
luaL_openlibs(LuaState)Always initialize the Lua VM by opening its libraries unless you really know what you are doing!
lua_close(LuaState)The Lua interpreter has now been terminated and its state variable is no longer valid.
lua_pushstring(LuaState, "BMXString")defines a global Lua variable (called luaglobal) which contains a string (namely "BMXString").
lua_setglobal (LuaState, "luaglobal")
function BMXName:int (LuaState:Byte Ptr)Such a function is then registered using
... ' handling of parameters passed from Lua (if required)
... ' actual function body
... ' passing results back to Lua (if required)
return 0 ' number of values returned to Lua
end function
lua_register(LuaState, "luaname", BMXName)This command registers a BlitzMax function (called BMXName) with the (global) name luaname under Lua. Both names may be equal, but they do not have to.
local Result:int = luaL_loadString(LuaState,LuaScript)loads and compiles a (BlitzMax) string containing a LuaScript. The result (of compilation) is left on the (Lua) stack.
if (Result <> 0) then
' ERROR!!!
lua_close(LuaState) ' just to be complete
end
end if
lua_getfield(LuaState, LUA_GLOBALSINDEX, "debug")' get global "debug"actually evaluates the previously loaded script. The initially mentioned Lua commands just prepare for proper error messages should the Lua script fail.
lua_getfield(LuaState, -1, "traceback") ' get "debug.traceback"
lua_remove (LuaState, -2) ' remove "debug" table from stack
Result = lua_pcall(LuaState,1,-1,-1)' use "debug.traceback" as err.hdlr
if (Result <> 0) then
' ERROR
lua_close(LuaState) ' just to be complete
end
end if
function lua_atpanic:byte ptr (lua_state:byte ptr, panicf:int(ls:byte ptr)) | |
Description | see Lua Reference Manual |
function lua_call (lua_state:byte ptr, nargs:int, nresults:int) | |
Description | see Lua Reference Manual |
function lua_checkstack:int (lua_state:byte ptr, extra:int) | |
Description | see Lua Reference Manual |
function lua_close (lua_state:byte ptr) | |
Description | see Lua Reference Manual |
function lua_concat (lua_state:byte ptr, n:int) | |
Description | see Lua Reference Manual |
function lua_cpcall:int (lua_state:byte ptr, func:int(ls:byte ptr), ud:byte ptr) | |
Description | see Lua Reference Manual |
function lua_createtable (lua_state:byte ptr, narr:int, nrec:int) | |
Description | see Lua Reference Manual |
function lua_dump:int (lua_state:byte ptr, writer:int(ls:byte ptr,p:byte ptr,sz:int,ud:byte ptr), data:byte ptr) | |
Description | see Lua Reference Manual |
function lua_equal:int (lua_state:byte ptr, index1:int, index2:int) | |
Description | see Lua Reference Manual |
function lua_error:int (lua_state:byte ptr) | |
Description | see Lua Reference Manual |
function lua_gc:int (lua_state:byte ptr, what:int, data:int) | |
Description | see Lua Reference Manual |
function lua_getallocf:byte ptr (lua_state:byte ptr, ud:byte ptr ptr) | |
Description | see Lua Reference Manual |
function lua_getfenv (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_getfield (lua_state:byte ptr, index:int, k$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function lua_getglobal (lua_state:byte ptr, name:string) | |
Description | see Lua Reference Manual |
function lua_gethook:byte ptr (lua_state:byte ptr) | |
Description | see Lua Reference Manual |
function lua_gethookcount:int (lua_state:byte ptr) | |
Description | see Lua Reference Manual |
function lua_gethookmask:int (lua_state:byte ptr) | |
Description | see Lua Reference Manual |
function lua_getinfo:int (lua_state:byte ptr, what$z, ar:lua_Debug ptr) ' no ~0 expected | |
Description | see Lua Reference Manual |
function lua_getlocal$z (lua_state:byte ptr, ar:lua_Debug ptr, n:int) ' no ~0 expected | |
Description | see Lua Reference Manual |
function lua_getmetatable:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_getstack:int (lua_state:byte ptr, level:int, ar:lua_Debug ptr) ' no ~0 expected | |
Description | see Lua Reference Manual |
function lua_gettable (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_gettop:int (lua_state:byte ptr) | |
Description | see Lua Reference Manual |
function lua_getupvalue$z (lua_state:byte ptr, funcindex:int, n:int) ' no ~0 expected | |
Description | see Lua Reference Manual |
function lua_insert (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_isboolean:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_iscfunction:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_isfunction:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_islightuserdata:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_isnil:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_isnone:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_isnoneornil:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_isnumber:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_isstring:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_istable:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_isthread:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_isuserdata:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_lessthan:int (lua_state:byte ptr, index1:int, index2:int) | |
Description | see Lua Reference Manual |
function lua_load:int (lua_state:byte ptr, reader:byte ptr(ls:byte ptr,data:byte ptr,sz:int ptr), data:byte ptr, chunkname$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function lua_newstate:byte ptr (f:byte ptr(ud:byte ptr, p:byte ptr, osize:int, nsize:int), ud:byte ptr) | |
Description | see Lua Reference Manual |
function lua_newtable (lua_state:byte ptr) | |
Description | see Lua Reference Manual |
function lua_newthread:byte ptr (lua_state:byte ptr) | |
Description | see Lua Reference Manual |
function lua_newuserdata:byte ptr (lua_state:byte ptr, size:int) | |
Description | see Lua Reference Manual |
function lua_next:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_objlen:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_pcall:int (lua_state:byte ptr, nargs:int, nresults:int, errfunc:int) | |
Description | see Lua Reference Manual |
function lua_pop (lua_state:byte ptr, n:int) | |
Description | see Lua Reference Manual |
function lua_pushboolean (lua_state:byte ptr, b:int) | |
Description | see Lua Reference Manual |
function lua_pushcclosure (lua_state:byte ptr, fn:int(ls:byte ptr), n:int) | |
Description | see Lua Reference Manual |
function lua_pushcfunction (lua_state:byte ptr, fn:int(ls:byte ptr)) | |
Description | see Lua Reference Manual |
function lua_pushinteger (lua_state:byte ptr, n:int) | |
Description | see Lua Reference Manual |
function lua_pushlightuserdata (lua_state:byte ptr, p:byte ptr) | |
Description | see Lua Reference Manual |
function lua_pushlstring (lua_state:byte ptr, s:byte ptr, size:int) ' without any conversion! | |
Description | see Lua Reference Manual |
function lua_pushnil (lua_state:byte ptr) | |
Description | see Lua Reference Manual |
function lua_pushnumber (lua_state:byte ptr, n:double) | |
Description | see Lua Reference Manual |
function lua_pushstring (lua_state:byte ptr, s$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function lua_pushthread:int (lua_state:byte ptr) | |
Description | see Lua Reference Manual |
function lua_pushvalue (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_rawequal:int (lua_state:byte ptr, index1:int, index2:int) | |
Description | see Lua Reference Manual |
function lua_rawget (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_rawgeti (lua_state:byte ptr, index:int, n:int) | |
Description | see Lua Reference Manual |
function lua_rawset (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_rawseti (lua_state:byte ptr, index:int, n:int) | |
Description | see Lua Reference Manual |
function lua_register (lua_state:byte ptr, name:string, f:int(ls:byte ptr)) | |
Description | see Lua Reference Manual |
function lua_remove (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_replace (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_resume:int (lua_state:byte ptr, narg:int) | |
Description | see Lua Reference Manual |
function lua_setallocf (lua_state:byte ptr, f:byte ptr(ud:byte ptr, p:byte ptr, osize:int, nsize:int), ud:byte ptr) | |
Description | see Lua Reference Manual |
function lua_setfenv:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_setfield (lua_state:byte ptr, index:int, k$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function lua_setglobal (lua_state:byte ptr, name:string) | |
Description | see Lua Reference Manual |
function lua_sethook:int (lua_state:byte ptr, f(ls:byte ptr,ar:lua_Debug ptr), mask:int, count:int) | |
Description | see Lua Reference Manual |
function lua_setlocal$z (lua_state:byte ptr, ar:lua_Debug ptr, n:int) ' no ~0 expected | |
Description | see Lua Reference Manual |
function lua_setmetatable:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_settable (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_settop (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_setupvalue$z (lua_state:byte ptr, funcindex:int, n:int) ' no ~0 expected | |
Description | see Lua Reference Manual |
function lua_status:int (lua_state:byte ptr) | |
Description | see Lua Reference Manual |
function lua_toboolean:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_tocfunction:byte ptr (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_tointeger:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_tolstring:byte ptr (lua_state:byte ptr, index:int, size:int ptr) ' without any conversion! | |
Description | see Lua Reference Manual |
function lua_tonumber:double (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_topointer:byte ptr (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_tostring:string (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_tothread:byte ptr (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_touserdata:byte ptr (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_type:int (lua_state:byte ptr, index:int) | |
Description | see Lua Reference Manual |
function lua_typename$z (lua_state:byte ptr, tp:int) ' no ~0 expected | |
Description | see Lua Reference Manual |
function lua_xmove (fromState:byte ptr, toState:byte ptr, n:int) | |
Description | see Lua Reference Manual |
function lua_yield:int (lua_state:byte ptr, nresults:int) | |
Description | see Lua Reference Manual |
function luaL_addchar (B:byte ptr, c:string) | |
Description | see Lua Reference Manual |
function luaL_addlstring (B:byte ptr, s:byte ptr, l:int) | |
Description | see Lua Reference Manual |
function luaL_addsize (B:byte ptr, size:int) | |
Description | see Lua Reference Manual |
function luaL_addstring (B:byte ptr, s$z) ' no ~0 allowed! | |
Description | see Lua Reference Manual |
function luaL_addvalue (B:byte ptr) | |
Description | see Lua Reference Manual |
function luaL_argcheck (lua_state:byte ptr, cond:int, narg:int, extramsg:string) | |
Description | see Lua Reference Manual |
function luaL_argerror:int (lua_state:byte ptr, narg:int, extramsg$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function luaL_buffinit (lua_state:byte ptr, B:byte ptr) | |
Description | see Lua Reference Manual |
function luaL_callmeta:int (lua_state:byte ptr, obj:int, e$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function luaL_checkany (lua_state:byte ptr, narg:int) | |
Description | see Lua Reference Manual |
function luaL_checkint:int (lua_state:byte ptr, narg:int) | |
Description | see Lua Reference Manual |
function luaL_checkinteger:int (lua_state:byte ptr, narg:int) | |
Description | see Lua Reference Manual |
function luaL_checklong:long (lua_state:byte ptr, narg:int) | |
Description | see Lua Reference Manual |
function luaL_checklstring:byte ptr (lua_state:byte ptr, narg:int, size:int ptr) | |
Description | see Lua Reference Manual |
function luaL_checknumber:double (lua_state:byte ptr, narg:int) | |
Description | see Lua Reference Manual |
function luaL_checkstack (lua_state:byte ptr, sz:int, msg$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function luaL_checkstring:string (lua_state:byte ptr, narg:int) | |
Description | see Lua Reference Manual |
function luaL_checktype (lua_state:byte ptr, narg:int, t:int) | |
Description | see Lua Reference Manual |
function luaL_checkudata:byte ptr (lua_state:byte ptr, narg:int, tname$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function luaL_dofile:int (lua_state:byte ptr, filename:string) | |
Description | see Lua Reference Manual |
function luaL_dostring:int (lua_state:byte ptr, str:string) | |
Description | see Lua Reference Manual |
function luaL_getmetafield:int (lua_state:byte ptr, obj:int, e$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function luaL_getmetatable (lua_state:byte ptr, tname:string) | |
Description | see Lua Reference Manual |
function luaL_gsub$z (lua_state:byte ptr, s$z, p$z, r$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function luaL_loadbuffer:int (lua_state:byte ptr, buff:byte ptr, sz:int, name$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function luaL_loadfile:int (lua_state:byte ptr, filename$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function luaL_loadstring:int (lua_state:byte ptr, s$z) ' no ~0 allowed! | |
Description | see Lua Reference Manual |
function luaL_newmetatable:int (lua_state:byte ptr, tname$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function luaL_newstate:byte ptr () | |
Description | see Lua Reference Manual |
function luaL_openlibs (lua_state:byte ptr) | |
Description | see Lua Reference Manual |
function luaL_optint:int (lua_state:byte ptr, narg:int, d:int) | |
Description | see Lua Reference Manual |
function luaL_optinteger:int (lua_state:byte ptr, narg:int, d:int) | |
Description | see Lua Reference Manual |
function luaL_optlong:long (lua_state:byte ptr, narg:int, d:long) | |
Description | see Lua Reference Manual |
function luaL_optlstring:byte ptr (lua_state:byte ptr, narg:int, d$z, size:int ptr) ' no ~0 expected in "d" | |
Description | see Lua Reference Manual |
function luaL_optnumber:double (lua_state:byte ptr, narg:int, d:double) | |
Description | see Lua Reference Manual |
function luaL_optstring:string (lua_state:byte ptr, narg:int, d:string) | |
Description | see Lua Reference Manual |
function luaL_prepbuffer:byte ptr (B:byte ptr) | |
Description | see Lua Reference Manual |
function luaL_pushresult (B:byte ptr) | |
Description | see Lua Reference Manual |
function luaL_ref:int (lua_state:byte ptr, t:int) | |
Description | see Lua Reference Manual |
function luaL_register (lua_state:byte ptr, libname$z, l:lua_Reg ptr) ' no ~0 expected | |
Description | see Lua Reference Manual |
function luaL_typename:string (lua_state:byte ptr, idx:int) | |
Description | see Lua Reference Manual |
function luaL_typerror:int (lua_state:byte ptr, narg:int, tname$z) ' no ~0 expected | |
Description | see Lua Reference Manual |
function luaL_unref (lua_state:byte ptr, t:int, ref:int) | |
Description | see Lua Reference Manual |
function luaL_where (lua_state:byte ptr, lvl:int) | |
Description | see Lua Reference Manual |
Version | 1.25 |
---|---|
Author | Tecgraf,PUC-Rio |
License | MIT License |
Modserver | BRL |
Credit | Adapted for BlitzMax by Thomas Mayer, Noel Cower, Andreas Rozek and Simon Armstrong |
History | 1.25 |
History | Updated to Lua 5.1.4 - Htbaa |
History | 1.24 |
History | fixed int<->long discrepancies between Lua and BlitzMAX |
History | 1.23 |
History | several bugfixes and extensions |
History | support for strings with embedded ~0 (and byte arrays) |
History | modifications for Lua 5.1.2 |
History | source code is now 'superstrict'-compliant |
History | added some documentation |
History | 1.22 |
History | added lots of definitions to support most of the official Lua 5.1.1 API |
History | 1.21 |
History | removed luac.c from build list |
History | 1.20 |
History | fixed missing paramters in lua_createtable definition |
History | 1.19 |
History | updated with lua5.1.1 source |
History | 1.18 |
History | added extra Imports and luaL_openlibs decl |
History | 1.17 |
History | added luaL_loadstring fixed missing lua_dostring |
History | 1.16 |
History | Added lua_newtable as a BMax function |
History | Changed extern'd lua_newtable to lua_createtable |
History | Added lua_load, lua_dostring and lua_dobuffer. |
History | 1.15 Release |
History | New LUA 5.1 based build |
History | Modified constants and added new wrappers for 5.1 compatability |
History | 1.14 Release |
History | Added luaopen_debug and ldblib.c |
History | Replaced byte ptr with $z (CString) where a C string is expected |
History | 1.12 Release |
History | Removed lua.h import |