diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/Makefile | 8 | ||||
-rw-r--r-- | include/lua.h | 40 | ||||
-rw-r--r-- | include/luadebug.h | 19 | ||||
-rw-r--r-- | include/lualib.h | 15 |
4 files changed, 57 insertions, 25 deletions
diff --git a/include/Makefile b/include/Makefile index e55b7717..e21de74d 100644 --- a/include/Makefile +++ b/include/Makefile @@ -1,11 +1,13 @@ -# makefile for lua distribution +# makefile for lua distribution (includes) + +LUA= .. + +include $(LUA)/config SRCS= lua.h lualib.h luadebug.h all: -dynamic: - clean: co: diff --git a/include/lua.h b/include/lua.h index 4e0a52e3..07f53209 100644 --- a/include/lua.h +++ b/include/lua.h @@ -2,14 +2,14 @@ ** LUA - Linguagem para Usuarios de Aplicacao ** Grupo de Tecnologia em Computacao Grafica ** TeCGraf - PUC-Rio -** $Id: lua.h,v 3.21 1995/11/13 15:36:52 roberto Exp $ +** $Id: lua.h,v 3.28 1996/05/06 14:32:59 roberto Exp $ */ #ifndef lua_h #define lua_h -#define LUA_VERSION "Lua 2.2" +#define LUA_VERSION "Lua 2.4" #define LUA_COPYRIGHT "Copyright (C) 1994, 1995 TeCGraf" #define LUA_AUTHORS "W. Celes, R. Ierusalimschy & L. H. de Figueiredo" @@ -52,6 +52,14 @@ void lua_endblock (void); lua_Object lua_getparam (int number); #define lua_getresult(_) lua_getparam(_) +#define lua_isnil(_) (lua_type(_)==LUA_T_NIL) +#define lua_istable(_) (lua_type(_)==LUA_T_ARRAY) +#define lua_isuserdata(_) (lua_type(_)>=LUA_T_USERDATA) +#define lua_iscfunction(_) (lua_type(_)==LUA_T_CFUNCTION) +int lua_isnumber (lua_Object object); +int lua_isstring (lua_Object object); +int lua_isfunction (lua_Object object); + float lua_getnumber (lua_Object object); char *lua_getstring (lua_Object object); lua_CFunction lua_getcfunction (lua_Object object); @@ -60,7 +68,6 @@ void *lua_getuserdata (lua_Object object); void lua_pushnil (void); void lua_pushnumber (float n); void lua_pushstring (char *s); -void lua_pushliteral (char *s); void lua_pushcfunction (lua_CFunction fn); void lua_pushusertag (void *u, int tag); void lua_pushobject (lua_Object object); @@ -73,32 +80,33 @@ lua_Object lua_getsubscript (void); int lua_type (lua_Object object); -int lua_lock (void); -lua_Object lua_getlocked (int ref); -void lua_pushlocked (int ref); -void lua_unlock (int ref); + +int lua_ref (int lock); +lua_Object lua_getref (int ref); +void lua_pushref (int ref); +void lua_unref (int ref); lua_Object lua_createtable (void); /* some useful macros */ -#define lua_lockobject(o) (lua_pushobject(o), lua_lock()) +#define lua_refobject(o,l) (lua_pushobject(o), lua_ref(l)) #define lua_register(n,f) (lua_pushcfunction(f), lua_storeglobal(n)) #define lua_pushuserdata(u) lua_pushusertag(u, LUA_T_USERDATA) -#define lua_isnil(_) (lua_type(_)==LUA_T_NIL) -#define lua_isnumber(_) (lua_type(_)==LUA_T_NUMBER) -#define lua_isstring(_) (lua_type(_)==LUA_T_STRING) -#define lua_istable(_) (lua_type(_)==LUA_T_ARRAY) -#define lua_isfunction(_) (lua_type(_)==LUA_T_FUNCTION) -#define lua_iscfunction(_) (lua_type(_)==LUA_T_CFUNCTION) -#define lua_isuserdata(_) (lua_type(_)>=LUA_T_USERDATA) +/* for compatibility with old versions. Avoid using these macros */ + +#define lua_lockobject(o) lua_refobject(o,1) +#define lua_lock() lua_ref(1) +#define lua_getlocked lua_getref +#define lua_pushlocked lua_pushref +#define lua_unlock lua_unref -/* for lua 1.1 compatibility. Avoid using these macros */ +#define lua_pushliteral(o) lua_pushstring(o) #define lua_getindexed(o,n) (lua_pushobject(o), lua_pushnumber(n), lua_getsubscript()) #define lua_getfield(o,f) (lua_pushobject(o), lua_pushliteral(f), lua_getsubscript()) diff --git a/include/luadebug.h b/include/luadebug.h index c1e26dcf..9392967c 100644 --- a/include/luadebug.h +++ b/include/luadebug.h @@ -2,7 +2,7 @@ ** LUA - Linguagem para Usuarios de Aplicacao ** Grupo de Tecnologia em Computacao Grafica ** TeCGraf - PUC-Rio -** $Id: luadebug.h,v 1.2 1995/10/26 14:21:56 roberto Exp $ +** $Id: luadebug.h,v 1.6 1996/03/20 17:05:44 roberto Exp $ */ @@ -11,10 +11,21 @@ #include "lua.h" -lua_Object lua_stackedfunction(int level); +typedef lua_Object lua_Function; + +typedef void (*lua_LHFunction) (int line); +typedef void (*lua_CHFunction) (lua_Function func, char *file, int line); + +lua_Function lua_stackedfunction (int level); void lua_funcinfo (lua_Object func, char **filename, int *linedefined); -int lua_currentline (lua_Object func); -char *getobjname (lua_Object o, char **name); +int lua_currentline (lua_Function func); +char *lua_getobjname (lua_Object o, char **name); + +lua_Object lua_getlocal (lua_Function func, int local_number, char **name); +int lua_setlocal (lua_Function func, int local_number); +extern lua_LHFunction lua_linehook; +extern lua_CHFunction lua_callhook; +extern int lua_debug; #endif diff --git a/include/lualib.h b/include/lualib.h index d250aa5b..6005d7c2 100644 --- a/include/lualib.h +++ b/include/lualib.h @@ -2,21 +2,32 @@ ** Libraries to be used in LUA programs ** Grupo de Tecnologia em Computacao Grafica ** TeCGraf - PUC-Rio -** $Id: lualib.h,v 1.4 1995/11/10 17:54:31 roberto Exp $ +** $Id: lualib.h,v 1.8 1996/04/30 21:13:55 roberto Exp $ */ #ifndef lualib_h #define lualib_h +#include "lua.h" + void iolib_open (void); void strlib_open (void); void mathlib_open (void); /* auxiliar functions (private) */ + +struct lua_reg { + char *name; + lua_CFunction func; +}; + +void luaI_openlib (struct lua_reg *l, int n); void lua_arg_error(char *funcname); char *lua_check_string (int numArg, char *funcname); -float lua_check_number (int numArg, char *funcname); +double lua_check_number (int numArg, char *funcname); +char *luaI_addchar (int c); +void luaI_addquoted (char *s); #endif |