diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-02-26 14:38:41 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-02-26 14:38:41 -0300 |
| commit | 131d66efd2dc26b05bcb2bdaf67f5175f3eda1aa (patch) | |
| tree | e912e35e04883c24e89917ee3d94b8fa574f6294 /table.c | |
| parent | bbf1b3060a1aa4e5ec3235a560d3d054457e957d (diff) | |
| download | lua-131d66efd2dc26b05bcb2bdaf67f5175f3eda1aa.tar.gz lua-131d66efd2dc26b05bcb2bdaf67f5175f3eda1aa.tar.bz2 lua-131d66efd2dc26b05bcb2bdaf67f5175f3eda1aa.zip | |
first step in implementing internal methods.
Diffstat (limited to 'table.c')
| -rw-r--r-- | table.c | 41 |
1 files changed, 3 insertions, 38 deletions
| @@ -3,7 +3,7 @@ | |||
| 3 | ** Module to control static tables | 3 | ** Module to control static tables |
| 4 | */ | 4 | */ |
| 5 | 5 | ||
| 6 | char *rcs_table="$Id: table.c,v 2.57 1996/07/12 20:00:26 roberto Exp roberto $"; | 6 | char *rcs_table="$Id: table.c,v 2.58 1996/11/01 12:47:45 roberto Exp roberto $"; |
| 7 | 7 | ||
| 8 | #include "mem.h" | 8 | #include "mem.h" |
| 9 | #include "opcode.h" | 9 | #include "opcode.h" |
| @@ -29,47 +29,12 @@ static Long lua_maxconstant = 0; | |||
| 29 | 29 | ||
| 30 | #define GARBAGE_BLOCK 50 | 30 | #define GARBAGE_BLOCK 50 |
| 31 | 31 | ||
| 32 | static void lua_nextvar (void); | ||
| 33 | |||
| 34 | /* | ||
| 35 | ** Internal functions | ||
| 36 | */ | ||
| 37 | static struct { | ||
| 38 | char *name; | ||
| 39 | lua_CFunction func; | ||
| 40 | } int_funcs[] = { | ||
| 41 | {"assert", luaI_assert}, | ||
| 42 | {"call", luaI_call}, | ||
| 43 | {"dofile", lua_internaldofile}, | ||
| 44 | {"dostring", lua_internaldostring}, | ||
| 45 | {"error", luaI_error}, | ||
| 46 | {"getglobal", luaI_getglobal}, | ||
| 47 | {"next", lua_next}, | ||
| 48 | {"nextvar", lua_nextvar}, | ||
| 49 | {"print", luaI_print}, | ||
| 50 | {"setfallback", luaI_setfallback}, | ||
| 51 | {"setglobal", luaI_setglobal}, | ||
| 52 | {"tonumber", lua_obj2number}, | ||
| 53 | {"tostring", luaI_tostring}, | ||
| 54 | {"type", luaI_type} | ||
| 55 | }; | ||
| 56 | |||
| 57 | #define INTFUNCSIZE (sizeof(int_funcs)/sizeof(int_funcs[0])) | ||
| 58 | |||
| 59 | 32 | ||
| 60 | void luaI_initsymbol (void) | 33 | void luaI_initsymbol (void) |
| 61 | { | 34 | { |
| 62 | int i; | ||
| 63 | Word n; | ||
| 64 | lua_maxsymbol = BUFFER_BLOCK; | 35 | lua_maxsymbol = BUFFER_BLOCK; |
| 65 | lua_table = newvector(lua_maxsymbol, Symbol); | 36 | lua_table = newvector(lua_maxsymbol, Symbol); |
| 66 | for (i=0; i<INTFUNCSIZE; i++) | 37 | luaI_predefine(); |
| 67 | { | ||
| 68 | n = luaI_findsymbolbyname(int_funcs[i].name); | ||
| 69 | s_tag(n) = LUA_T_CFUNCTION; s_fvalue(n) = int_funcs[i].func; | ||
| 70 | } | ||
| 71 | n = luaI_findsymbolbyname("_VERSION_"); | ||
| 72 | s_tag(n) = LUA_T_STRING; s_tsvalue(n) = lua_createstring(LUA_VERSION); | ||
| 73 | } | 38 | } |
| 74 | 39 | ||
| 75 | 40 | ||
| @@ -225,7 +190,7 @@ void lua_pack (void) | |||
| 225 | /* | 190 | /* |
| 226 | ** Internal function: return next global variable | 191 | ** Internal function: return next global variable |
| 227 | */ | 192 | */ |
| 228 | static void lua_nextvar (void) | 193 | void luaI_nextvar (void) |
| 229 | { | 194 | { |
| 230 | Word next; | 195 | Word next; |
| 231 | lua_Object o = lua_getparam(1); | 196 | lua_Object o = lua_getparam(1); |
