浏览该文件的文档.
12 #define vmdispatch(x) goto *disptab[x];
14 #define vmcase(l) L_##l:
16 #define vmbreak vmfetch(); vmdispatch(GET_OPCODE(i));
22 ** you can update the following list with
this command:
24 ** sed -n
'/^OP_/\!d; s/OP_/\&\&L_OP_/ ; s/,.*/,/ ; s/\/.*// ; p' lopcodes.h
#define luaL_optstring(L, n, d)
Definition: lauxlib.h:139
#define l_popen(L, c, m)
Definition: liolib.c:76
static const luaL_Reg loadedlibs[]
Definition: linit.c:42
static int read_line(lua_State *L, FILE *f, int chop)
Definition: liolib.c:519
LUAMOD_API int luaopen_lib2(lua_State *L)
Definition: lib22.c:17
#define lua_pushliteral(L, s)
Definition: lua.h:381
LUA_API void lua_rotate(lua_State *L, int idx, int n)
Definition: lapi.c:217
LUAMOD_API int luaopen_base(lua_State *L)
Definition: lbaselib.c:515
#define lua_assert(c)
Definition: lauxlib.h:169
static int read_chars(lua_State *L, FILE *f, size_t n)
Definition: liolib.c:553
#define LUAL_BUFFERSIZE
Definition: ltests.h:117
static int io_noclose(lua_State *L)
Definition: liolib.c:796
static int f_flush(lua_State *L)
Definition: liolib.c:732
static int io_readline(lua_State *L)
Definition: liolib.c:629
#define IO_INPUT
Definition: liolib.c:151
LUA_API void lua_setglobal(lua_State *L, const char *name)
Definition: lapi.c:823
#define LUAI_UACNUMBER
Definition: luaconf.h:458
#define LUA_TABLIBNAME
Definition: lualib.h:23
static int io_popen(lua_State *L)
Definition: liolib.c:290
static int f_setvbuf(lua_State *L)
Definition: liolib.c:715
#define lua_tostring(L, i)
Definition: lua.h:386
#define LUA_MINSTACK
Definition: lua.h:80
static int io_write(lua_State *L)
Definition: liolib.c:684
static LStream * newfile(lua_State *L)
Definition: liolib.c:253
LUAMOD_API int() luaopen_utf8(lua_State *L)
Definition: lutf8lib.c:283
LUA_API const char * lua_pushstring(lua_State *L, const char *s)
Definition: lapi.c:514
#define luaL_checkstring(L, n)
Definition: lauxlib.h:138
static void read_all(lua_State *L, FILE *f)
Definition: liolib.c:540
#define lua_replace(L, idx)
Definition: lua.h:393
LUA_API int lua_getfield(lua_State *L, int idx, const char *k)
Definition: lapi.c:665
LUALIB_API void luaL_buffinit(lua_State *L, luaL_Buffer *B)
Definition: lauxlib.c:620
#define l_lockfile(f)
Definition: liolib.c:103
LUA_API void lua_pushinteger(lua_State *L, lua_Integer n)
Definition: lapi.c:489
#define LUA_GNAME
Definition: lauxlib.h:19
static const luaL_Reg metameth[]
Definition: liolib.c:774
#define LUA_OSLIBNAME
Definition: lualib.h:29
#define IOPREF_LEN
Definition: liolib.c:150
#define LUA_FILEHANDLE
Definition: lauxlib.h:233
#define luaL_newlibtable(L, l)
Definition: lauxlib.h:126
#define lua_pop(L, n)
Definition: lua.h:364
static int g_read(lua_State *L, FILE *f, int first)
Definition: liolib.c:566
static int nextc(RN *rn)
Definition: liolib.c:438
static int io_pclose(lua_State *L)
Definition: liolib.c:283
LUALIB_API int luaL_checkoption(lua_State *L, int arg, const char *def, const char *const lst[])
Definition: lauxlib.c:360
static void createstdfile(lua_State *L, FILE *f, const char *k, const char *fname)
Definition: liolib.c:805
int n
Definition: liolib.c:430
#define MAXARGLINE
Definition: liolib.c:352
LUALIB_API const char * luaL_checklstring(lua_State *L, int arg, size_t *len)
Definition: lauxlib.c:402
LUA_API lua_Unsigned lua_rawlen(lua_State *L, int idx)
Definition: lapi.c:402
#define lua_isnoneornil(L, n)
Definition: lua.h:379
#define l_ftell(f)
Definition: liolib.c:138
Definition: lauxlib.h:236
LUA_API int lua_type(lua_State *L, int idx)
Definition: lapi.c:260
LUAMOD_API int luaopen_lib1_sub(lua_State *L)
Definition: lib1.c:38
LUAMOD_API int luaopen_package(lua_State *L)
Definition: loadlib.c:736
LUAMOD_API int luaopen_math(lua_State *L)
Definition: lmathlib.c:750
static int f_close(lua_State *L)
Definition: liolib.c:222
#define L_MAXLENNUM
Definition: liolib.c:422
#define isclosed(p)
Definition: liolib.c:160
static int g_write(lua_State *L, FILE *f, int arg)
Definition: liolib.c:660
LUAMOD_API int luaopen_debug(lua_State *L)
Definition: ldblib.c:478
static int io_output(lua_State *L)
Definition: liolib.c:340
LUAMOD_API int luaopen_lib21(lua_State *L)
Definition: lib21.c:6
LUAMOD_API int luaopen_table(lua_State *L)
Definition: ltablib.c:424
#define L_MODEEXT
Definition: liolib.c:36
LUA_API int lua_isinteger(lua_State *L, int idx)
Definition: lapi.c:279
LUALIB_API void luaL_pushresult(luaL_Buffer *B)
Definition: lauxlib.c:584
LUALIB_API void * luaL_testudata(lua_State *L, int ud, const char *tname)
Definition: lauxlib.c:330
LUALIB_API int luaL_fileresult(lua_State *L, int stat, const char *fname)
Definition: lauxlib.c:245
#define LUA_LOADLIBNAME
Definition: lualib.h:44
#define l_getc(f)
Definition: liolib.c:102
#define l_unlockfile(f)
Definition: liolib.c:104
#define LUA_COLIBNAME
Definition: lualib.h:20
static void createmeta(lua_State *L)
Definition: liolib.c:783
static int readdigits(RN *rn, int hex)
Definition: liolib.c:464
LUALIB_API int luaL_newmetatable(lua_State *L, const char *tname)
Definition: lauxlib.c:311
LUAMOD_API int onefunction(lua_State *L)
Definition: lib1.c:22
static const struct luaL_Reg funcs[]
Definition: lib22.c:11
#define LUA_UTF8LIBNAME
Definition: lualib.h:35
static const luaL_Reg meth[]
Definition: liolib.c:759
#define lua_insert(L, idx)
Definition: lua.h:389
char buff[L_MAXLENNUM+1]
Definition: liolib.c:431
static void aux_lines(lua_State *L, int toclose)
Definition: liolib.c:363
#define lua_tointeger(L, i)
Definition: lua.h:362
LUA_API void lua_setfield(lua_State *L, int idx, const char *k)
Definition: lapi.c:847
LUA_API void lua_pushcclosure(lua_State *L, lua_CFunction fn, int n)
Definition: lapi.c:555
#define LUA_DBLIBNAME
Definition: lualib.h:41
LUAMOD_API int luaopen_io(lua_State *L)
Definition: liolib.c:818
#define luaL_checkversion(L)
Definition: lauxlib.h:46
static int f_lines(lua_State *L)
Definition: liolib.c:374
LUALIB_API void luaL_openlibs(lua_State *L)
Definition: linit.c:57
luaL_Stream LStream
Definition: liolib.c:155
const char * name
Definition: lauxlib.h:38
int luaopen_lib2(lua_State *L)
Definition: lib2.c:15
static int id(lua_State *L)
Definition: lib22.c:4
int lib1_export(lua_State *L)
Definition: lib1.c:16
LUALIB_API int luaL_execresult(lua_State *L, int stat)
Definition: lauxlib.c:285
static const luaL_Reg iolib[]
Definition: liolib.c:740
#define LUA_TNUMBER
Definition: lua.h:68
static int io_fclose(lua_State *L)
Definition: liolib.c:246
LUALIB_API int luaL_argerror(lua_State *L, int arg, const char *extramsg)
Definition: lauxlib.c:175
static int id(lua_State *L)
Definition: lib1.c:4
LUA_API const char * lua_pushfstring(lua_State *L, const char *fmt,...)
Definition: lapi.c:542
LUALIB_API void luaL_checkany(lua_State *L, int arg)
Definition: lauxlib.c:396
static int g_iofile(lua_State *L, const char *f, const char *mode)
Definition: liolib.c:318
static int aux_close(lua_State *L)
Definition: liolib.c:214
#define l_pclose(L, file)
Definition: liolib.c:80
#define LUA_REGISTRYINDEX
Definition: lua.h:44
static int read_number(lua_State *L, FILE *f)
Definition: liolib.c:477
LUA_API void * lua_touserdata(lua_State *L, int idx)
Definition: lapi.c:432
static int f_read(lua_State *L)
Definition: liolib.c:621
static const struct luaL_Reg funcs[]
Definition: lib1.c:9
static FILE * tofile(lua_State *L)
Definition: liolib.c:187
Definition: lauxlib.h:182
static int f_gc(lua_State *L)
Definition: liolib.c:235
#define luaL_prepbuffer(B)
Definition: lauxlib.h:215
#define luaL_argcheck(L, cond, arg, extramsg)
Definition: lauxlib.h:132
#define luaL_addchar(B, c)
Definition: lauxlib.h:198
static const struct luaL_Reg funcs[]
Definition: lib2.c:9
LUA_API int lua_gettop(lua_State *L)
Definition: lapi.c:168
LUA_INTEGER lua_Integer
Definition: lua.h:94
#define lua_isnil(L, n)
Definition: lua.h:375
LUAMOD_API int luaopen_os(lua_State *L)
Definition: loslib.c:426
LUA_API void lua_settop(lua_State *L, int idx)
Definition: lapi.c:173
LUAMOD_API int luaopen_string(lua_State *L)
Definition: lstrlib.c:1797
LUA_API void lua_pushboolean(lua_State *L, int b)
Definition: lapi.c:581
#define LUA_NUMBER_FMT
Definition: luaconf.h:461
LUA_API void lua_pushvalue(lua_State *L, int idx)
Definition: lapi.c:246
#define LUAI_UACINT
Definition: luaconf.h:496
static int io_open(lua_State *L)
Definition: liolib.c:269
#define LUA_MATHLIBNAME
Definition: lualib.h:38
static int f_tostring(lua_State *L)
Definition: liolib.c:177
LUAMOD_API int luaopen_lib11(lua_State *L)
Definition: lib11.c:6
static int io_tmpfile(lua_State *L)
Definition: liolib.c:301
static int io_input(lua_State *L)
Definition: liolib.c:335
#define LUA_STRLIBNAME
Definition: lualib.h:32
#define l_seeknum
Definition: liolib.c:139
static int io_lines(lua_State *L)
Definition: liolib.c:386
static int test_eof(lua_State *L, FILE *f)
Definition: liolib.c:511
lua_CFunction func
Definition: lauxlib.h:39
#define lua_getlocaledecpoint()
Definition: luaconf.h:659
LUAMOD_API int luaopen_coroutine(lua_State *L)
Definition: lcorolib.c:203
#define l_fseek(f, o, w)
Definition: liolib.c:137
LUALIB_API char * luaL_prepbuffsize(luaL_Buffer *B, size_t sz)
Definition: lauxlib.c:565
#define IO_OUTPUT
Definition: liolib.c:152
static int io_type(lua_State *L)
Definition: liolib.c:163
#define LUA_IOLIBNAME
Definition: lualib.h:26
static int f_seek(lua_State *L)
Definition: liolib.c:696
static FILE * getiofile(lua_State *L, const char *findex)
Definition: liolib.c:308
#define LUAMOD_API
Definition: luaconf.h:286
#define l_checkmodep(m)
Definition: liolib.c:89
#define LUA_INTEGER_FMT
Definition: luaconf.h:494
LUALIB_API void luaL_setfuncs(lua_State *L, const luaL_Reg *l, int nup)
Definition: lauxlib.c:916
LUALIB_API lua_Integer luaL_optinteger(lua_State *L, int arg, lua_Integer def)
Definition: lauxlib.c:452
int c
Definition: liolib.c:429
static const void *const disptab[NUM_OPCODES]
Definition: ljumptab.h:19
LUAMOD_API int lib1_export(lua_State *L)
Definition: lib1.c:16
#define NUM_OPCODES
Definition: lopcodes.h:312
LUALIB_API void luaL_checkstack(lua_State *L, int space, const char *msg)
Definition: lauxlib.c:380
#define lua_tonumber(L, i)
Definition: lua.h:361
#define luaL_newlib(L, l)
Definition: lauxlib.h:129
LUALIB_API int luaL_error(lua_State *L, const char *fmt,...)
Definition: lauxlib.c:234
static int id(lua_State *L)
Definition: lib2.c:4
LUALIB_API void luaL_requiref(lua_State *L, const char *modname, lua_CFunction openf, int glb)
Definition: lauxlib.c:957
#define lua_isnone(L, n)
Definition: lua.h:378
LUA_API void * lua_newuserdatauv(lua_State *L, size_t size, int nuvalue)
Definition: lapi.c:1318
LUALIB_API lua_Integer luaL_checkinteger(lua_State *L, int arg)
Definition: lauxlib.c:442
LUA_API size_t lua_stringtonumber(lua_State *L, const char *s)
Definition: lapi.c:347
int(* lua_CFunction)(lua_State *L)
Definition: lua.h:106
LUA_API void lua_pushnil(lua_State *L)
Definition: lapi.c:473
LUA_API int lua_toboolean(lua_State *L, int idx)
Definition: lapi.c:375
static void opencheck(lua_State *L, const char *fname, const char *mode)
Definition: liolib.c:261
static int io_flush(lua_State *L)
Definition: liolib.c:727
#define lua_upvalueindex(i)
Definition: lua.h:45
FILE * f
Definition: lauxlib.h:237
static int io_read(lua_State *L)
Definition: liolib.c:616
#define tolstream(L)
Definition: liolib.c:158
lua_CFunction closef
Definition: lauxlib.h:238
#define luaL_addsize(B, s)
Definition: lauxlib.h:202
LUAMOD_API int luaopen_lib2(lua_State *L)
Definition: lib2.c:15
#define luaL_pushfail(L)
Definition: lauxlib.h:157
#define LUALIB_API
Definition: luaconf.h:285
static int f_write(lua_State *L)
Definition: liolib.c:689
static int test2(RN *rn, const char *set)
Definition: liolib.c:454
static int io_close(lua_State *L)
Definition: liolib.c:228
static LStream * newprefile(lua_State *L)
Definition: liolib.c:201
LUALIB_API void luaL_setmetatable(lua_State *L, const char *tname)
Definition: lauxlib.c:324
static int l_checkmode(const char *mode)
Definition: liolib.c:40
LUAMOD_API int anotherfunc(lua_State *L)
Definition: lib1.c:30
FILE * f
Definition: liolib.c:428