浏览该文件的文档.
64 #define vkisvar(k) (VLOCAL <= (k) && (k) <= VINDEXSTR)
65 #define vkisindexed(k) (VINDEXED <= (k) && (k) <= VINDEXSTR)
168 Dyndata *dyd,
const char *name,
int firstchar);
struct Dyndata::@10 actvar
void luaX_next(LexState *ls)
Definition: llex.c:565
static int os_tmpname(lua_State *L)
Definition: loslib.c:169
@ TK_IF
Definition: llex.h:36
#define luaL_optstring(L, n, d)
Definition: lauxlib.h:139
static void setvararg(FuncState *fs, int nparams)
Definition: lparser.c:941
#define hasmultret(k)
Definition: lparser.c:38
TString * name
Definition: lparser.h:111
Mbuffer * buff
Definition: llex.h:73
Table * h
Definition: llex.h:74
int luaK_exp2anyreg(FuncState *fs, expdesc *e)
Definition: lcode.c:945
struct expdesc::@6::@7 ind
@ OPR_GE
Definition: lcode.h:37
@ VLOCAL
Definition: lparser.h:38
static int getfield(lua_State *L, const char *key, int d, int delta)
Definition: loslib.c:251
lu_byte left
Definition: lparser.c:1226
int np
Definition: lparser.h:153
static int os_exit(lua_State *L)
Definition: loslib.c:394
Upvaldesc * upvalues
Definition: lobject.h:547
void luaK_goiffalse(FuncState *fs, expdesc *e)
Definition: lcode.c:1151
LClosure * luaY_parser(lua_State *L, ZIO *z, Mbuffer *buff, Dyndata *dyd, const char *name, int firstchar)
Definition: lparser.c:1931
@ TK_SHR
Definition: llex.h:40
@ VJMP
Definition: lparser.h:55
struct expdesc::@6::@8 var
lu_byte kind
Definition: lobject.h:497
int info
Definition: lparser.h:74
#define lua_assert(c)
Definition: lauxlib.h:169
static void restassign(LexState *ls, struct LHS_assign *lh, int nvars)
Definition: lparser.c:1363
void luaK_fixline(FuncState *fs, int line)
Definition: lcode.c:1734
signed char ls_byte
Definition: llimits.h:37
lua_Number r
Definition: llex.h:50
@ OPR_AND
Definition: lcode.h:39
@ OP_VARARG
Definition: lopcodes.h:304
LUA_UNSIGNED lua_Unsigned
Definition: lua.h:97
@ VCONST
Definition: lparser.h:41
#define LUAI_FUNC
Definition: luaconf.h:307
#define cast_byte(i)
Definition: llimits.h:130
#define l_noret
Definition: llimits.h:178
static void setboolfield(lua_State *L, const char *key, int value)
Definition: loslib.c:219
Instruction * code
Definition: lobject.h:545
struct FuncState * fs
Definition: llex.h:70
@ OP_TFORPREP
Definition: lopcodes.h:296
static Upvaldesc * allocupvalue(FuncState *fs)
Definition: lparser.c:352
static l_noret jumpscopeerror(LexState *ls, Labeldesc *gt)
Definition: lparser.c:502
static void check_readonly(LexState *ls, expdesc *e)
Definition: lparser.c:277
static void localstat(LexState *ls)
Definition: lparser.c:1716
static void codename(LexState *ls, expdesc *e)
Definition: lparser.c:166
@ TK_THEN
Definition: llex.h:37
int previousline
Definition: lparser.h:151
const char * luaX_token2str(LexState *ls, int token)
Definition: llex.c:82
static void simpleexp(LexState *ls, expdesc *v)
Definition: lparser.c:1128
#define l_gmtime(t, r)
Definition: loslib.c:94
int lasttarget
Definition: lparser.h:150
#define LUA_MULTRET
Definition: lua.h:36
@ VUPVAL
Definition: lparser.h:40
void luaX_setinput(lua_State *L, LexState *ls, ZIO *z, TString *source, int firstchar)
Definition: llex.c:167
#define vkisvar(k)
Definition: lparser.h:64
@ TK_REPEAT
Definition: llex.h:36
#define new_localvarliteral(ls, v)
Definition: lparser.c:208
short idx
Definition: lparser.h:76
static int os_time(lua_State *L)
Definition: loslib.c:346
int nabslineinfo
Definition: lparser.h:154
int sizeabslineinfo
Definition: lobject.h:541
#define RDKCONST
Definition: lparser.h:91
@ OP_TAILCALL
Definition: lopcodes.h:286
static void close_func(LexState *ls)
Definition: lparser.c:744
@ TK_NE
Definition: llex.h:39
void luaK_patchlist(FuncState *fs, int list, int target)
Definition: lcode.c:305
struct FuncState * prev
Definition: lparser.h:146
#define luaK_jumpto(fs, t)
Definition: lcode.h:60
lu_byte insidetbc
Definition: lparser.c:56
static int searchupvalue(FuncState *fs, TString *name)
Definition: lparser.c:342
#define RDKCTC
Definition: lparser.h:93
Definition: lparser.h:144
@ OP_CALL
Definition: lopcodes.h:285
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 enterblock(FuncState *fs, BlockCnt *bl, lu_byte isloop)
Definition: lparser.c:630
@ OPR_NOUNOPR
Definition: lcode.h:51
@ TK_FLT
Definition: llex.h:42
@ OPR_NOT
Definition: lcode.h:51
#define luaC_objbarrier(L, p, o)
Definition: lgc.h:173
LUA_API int lua_getfield(lua_State *L, int idx, const char *k)
Definition: lapi.c:665
@ VNONRELOC
Definition: lparser.h:36
static void exp1(LexState *ls)
Definition: lparser.c:1505
void luaK_setlist(FuncState *fs, int base, int nelems, int tostore)
Definition: lcode.c:1758
expdesc * t
Definition: lparser.c:828
#define check_condition(ls, c, msg)
Definition: lparser.c:122
Definition: lparser.h:110
LUALIB_API void luaL_buffinit(lua_State *L, luaL_Buffer *B)
Definition: lauxlib.c:620
@ OP_GETUPVAL
Definition: lopcodes.h:209
#define LUA_TTABLE
Definition: lua.h:70
TString * luaS_new(lua_State *L, const char *str)
Definition: lstring.c:241
static int cond(LexState *ls)
Definition: lparser.c:1394
TString * varname
Definition: lobject.h:506
static void checkrepeated(LexState *ls, TString *name)
Definition: lparser.c:1436
#define GETARG_A(i)
Definition: lopcodes.h:125
#define unlikely(x)
Definition: llimits.h:162
static int os_clock(lua_State *L)
Definition: loslib.c:186
static void closelistfield(FuncState *fs, ConsControl *cc)
Definition: lparser.c:856
LUA_API void lua_pushinteger(lua_State *L, lua_Integer n)
Definition: lapi.c:489
TValuefields
Definition: lparser.h:98
@ TK_IDIV
Definition: llex.h:39
static int solvegotos(LexState *ls, Labeldesc *lb)
Definition: lparser.c:573
int lastlinedefined
Definition: lobject.h:543
#define luaC_checkGC(L)
Definition: lgc.h:162
static void primaryexp(LexState *ls, expdesc *v)
Definition: lparser.c:1068
static int os_setlocale(lua_State *L)
Definition: loslib.c:382
int firstlabel
Definition: lparser.h:156
static void localfunc(LexState *ls)
Definition: lparser.c:1677
short ndebugvars
Definition: lparser.h:157
#define luaK_setmultret(fs, e)
Definition: lcode.h:58
lu_byte right
Definition: lparser.c:1227
@ OP_FORLOOP
Definition: lopcodes.h:292
@ TK_WHILE
Definition: llex.h:37
#define lua_pop(L, n)
Definition: lua.h:364
static void setfield(lua_State *L, const char *key, int value, int delta)
Definition: loslib.c:209
struct lua_State * L
Definition: llex.h:71
struct Proto ** p
Definition: lobject.h:546
static void removevars(FuncState *fs, int tolevel)
Definition: lparser.c:328
static void init_exp(expdesc *e, expkind k, int i)
Definition: lparser.c:152
static l_noret undefgoto(LexState *ls, Labeldesc *gt)
Definition: lparser.c:646
lu_byte ridx
Definition: lparser.h:80
static void checklimit(FuncState *fs, int v, int l, const char *what)
Definition: lparser.c:87
Labellist label
Definition: lparser.h:135
@ TK_BREAK
Definition: llex.h:34
@ OPR_MOD
Definition: lcode.h:28
LUALIB_API int luaL_checkoption(lua_State *L, int arg, const char *def, const char *const lst[])
Definition: lauxlib.c:360
static int forprep(lua_State *L, StkId ra)
Definition: lvm.c:206
lu_byte is_vararg
Definition: lobject.h:533
struct BlockCnt * bl
Definition: lparser.h:148
#define lua_isnoneornil(L, n)
Definition: lua.h:379
@ TK_LOCAL
Definition: llex.h:36
Vardesc * arr
Definition: lparser.h:130
TString * strval
Definition: lparser.h:73
lu_byte upval
Definition: lparser.c:54
static void fixforjump(FuncState *fs, int pc, int dest, int back)
Definition: lparser.c:1518
LUA_NUMBER lua_Number
Definition: lua.h:90
@ OPR_GT
Definition: lcode.h:37
@ OPR_MUL
Definition: lcode.h:28
static int os_rename(lua_State *L)
Definition: loslib.c:162
@ OPR_SHL
Definition: lcode.h:32
int nh
Definition: lparser.c:829
static int getboolfield(lua_State *L, const char *key)
Definition: loslib.c:243
static void adjustlocalvars(LexState *ls, int nvars)
Definition: lparser.c:311
static void adjust_assign(LexState *ls, int nvars, int nexps, expdesc *e)
Definition: lparser.c:470
#define LUA_TMPNAMBUFSIZE
Definition: loslib.c:132
#define SETARG_Bx(i, v)
Definition: lopcodes.h:141
TString * name
Definition: lobject.h:494
Proto * f
Definition: lparser.h:145
@ VKFLT
Definition: lparser.h:32
@ OPR_BOR
Definition: lcode.h:31
@ VINDEXED
Definition: lparser.h:43
@ OPR_LEN
Definition: lcode.h:51
static void leaveblock(FuncState *fs)
Definition: lparser.c:660
void luaK_infix(FuncState *fs, BinOpr op, expdesc *v)
Definition: lcode.c:1582
static int registerlocalvar(LexState *ls, FuncState *fs, TString *varname)
Definition: lparser.c:175
static void fornum(LexState *ls, TString *varname, int line)
Definition: lparser.c:1557
@ OPR_DIV
Definition: lcode.h:29
LUAI_FUNC int luaY_nvarstack(FuncState *fs)
Definition: lparser.c:243
int sizecode
Definition: lobject.h:537
@ OPR_NOBINOPR
Definition: lcode.h:40
void luaK_posfix(FuncState *fs, BinOpr opr, expdesc *e1, expdesc *e2, int line)
Definition: lcode.c:1650
lua_Integer i
Definition: llex.h:51
static void body(LexState *ls, expdesc *e, int ismethod, int line)
Definition: lparser.c:978
struct LexState * ls
Definition: lparser.h:147
@ TK_ELSE
Definition: llex.h:35
static void solvegoto(LexState *ls, int g, Labeldesc *label)
Definition: lparser.c:515
static int new_localvar(LexState *ls, TString *name)
Definition: lparser.c:193
#define LFIELDS_PER_FLUSH
Definition: lopcodes.h:390
static const luaL_Reg syslib[]
Definition: loslib.c:407
static void fieldsel(LexState *ls, expdesc *v)
Definition: lparser.c:799
LUA_API void lua_pushnumber(lua_State *L, lua_Number n)
Definition: lapi.c:481
int sizep
Definition: lobject.h:539
@ TK_DBCOLON
Definition: llex.h:41
LUALIB_API void luaL_pushresult(luaL_Buffer *B)
Definition: lauxlib.c:584
@ TK_RETURN
Definition: llex.h:37
static void check_conflict(LexState *ls, struct LHS_assign *lh, expdesc *v)
Definition: lparser.c:1319
TString * source
Definition: lobject.h:551
static void statlist(LexState *ls)
Definition: lparser.c:787
@ OP_MOVE
Definition: lopcodes.h:200
struct Dyndata * dyd
Definition: llex.h:75
@ TK_AND
Definition: llex.h:34
static int testnext(LexState *ls, int c)
Definition: lparser.c:95
@ OPR_EQ
Definition: lcode.h:36
static void yindex(LexState *ls, expdesc *v)
Definition: lparser.c:810
LUALIB_API int luaL_fileresult(lua_State *L, int stat, const char *fname)
Definition: lauxlib.c:245
static void singlevaraux(FuncState *fs, TString *n, expdesc *var, int base)
Definition: lparser.c:424
static int os_getenv(lua_State *L)
Definition: loslib.c:180
static l_noret errorlimit(FuncState *fs, int limit, const char *what)
Definition: lparser.c:74
int startpc
Definition: lobject.h:507
lu_byte numparams
Definition: lobject.h:532
@ TK_END
Definition: llex.h:35
static TString * str_checkname(LexState *ls)
Definition: lparser.c:143
@ TK_SHL
Definition: llex.h:40
@ TK_UNTIL
Definition: llex.h:37
expdesc v
Definition: lparser.c:1309
int linedefined
Definition: lobject.h:542
static void breakstat(LexState *ls)
Definition: lparser.c:1426
@ OP_CLOSE
Definition: lopcodes.h:268
@ TK_FALSE
Definition: llex.h:35
@ VNIL
Definition: lparser.h:28
#define leavelevel(ls)
Definition: lparser.c:495
@ OPR_ADD
Definition: lcode.h:28
#define MAXARG_Bx
Definition: lopcodes.h:74
static int getlocalattribute(LexState *ls)
Definition: lparser.c:1689
#define MAXUPVAL
Definition: lfunc.h:29
int luaK_code(FuncState *fs, Instruction i)
Definition: lcode.c:390
#define SETARG_C(i, v)
Definition: lopcodes.h:134
@ OPR_SUB
Definition: lcode.h:28
#define SET_OPCODE(i, o)
Definition: lopcodes.h:115
int luaK_jump(FuncState *fs)
Definition: lcode.c:198
int n
Definition: lparser.h:122
@ OP_TFORLOOP
Definition: lopcodes.h:298
void luaK_exp2anyregup(FuncState *fs, expdesc *e)
Definition: lcode.c:967
AbsLineInfo * abslineinfo
Definition: lobject.h:549
void luaK_patchtohere(FuncState *fs, int list)
Definition: lcode.c:311
static BinOpr getbinopr(int op)
Definition: lparser.c:1194
int f
Definition: lparser.h:85
int linenumber
Definition: llex.h:66
l_noret luaX_syntaxerror(LexState *ls, const char *msg)
Definition: llex.c:119
void luaK_int(FuncState *fs, int reg, lua_Integer i)
Definition: lcode.c:663
struct LHS_assign * prev
Definition: lparser.c:1308
void luaK_storevar(FuncState *fs, expdesc *var, expdesc *ex)
Definition: lcode.c:1039
@ OP_CLOSURE
Definition: lopcodes.h:302
LUA_API void lua_setfield(lua_State *L, int idx, const char *k)
Definition: lapi.c:847
static void codestring(expdesc *e, TString *s)
Definition: lparser.c:159
expkind
Definition: lparser.h:25
@ TK_ELSEIF
Definition: llex.h:35
@ OPR_IDIV
Definition: lcode.h:29
static void forstat(LexState *ls, int line)
Definition: lparser.c:1608
#define MAXVARS
Definition: lparser.c:35
#define VDKREG
Definition: lparser.h:90
@ VTRUE
Definition: lparser.h:29
static l_noret error_expected(LexState *ls, int token)
Definition: lparser.c:68
Definition: lobject.h:364
static const struct @5 priority[]
unsigned short vidx
Definition: lparser.h:81
static Vardesc * getlocalvardesc(FuncState *fs, int vidx)
Definition: lparser.c:219
@ TK_NOT
Definition: llex.h:36
int nk
Definition: lparser.h:152
static int funcname(LexState *ls, expdesc *v)
Definition: lparser.c:1758
#define setclLvalue2s(L, o, cl)
Definition: lobject.h:592
SemInfo seminfo
Definition: llex.h:58
static void check(LexState *ls, int c)
Definition: lparser.c:107
LUALIB_API int luaL_execresult(lua_State *L, int stat)
Definition: lauxlib.c:285
LUALIB_API const char * luaL_optlstring(lua_State *L, int arg, const char *def, size_t *len)
Definition: lauxlib.c:409
int sizek
Definition: lobject.h:536
@ TK_OR
Definition: llex.h:36
#define vkisindexed(k)
Definition: lparser.h:65
struct ConsControl ConsControl
@ VINDEXUP
Definition: lparser.h:46
@ TK_IN
Definition: llex.h:36
unsigned char lu_byte
Definition: llimits.h:36
#define luaM_shrinkvector(L, v, size, fs, t)
Definition: lmem.h:74
@ OP_TBC
Definition: lopcodes.h:269
#define getstr(ts)
Definition: lobject.h:381
static void constructor(LexState *ls, expdesc *t)
Definition: lparser.c:913
lu_byte needclose
Definition: lparser.h:162
@ VK
Definition: lparser.h:31
LUAI_FUNC LClosure * luaY_parser(lua_State *L, ZIO *z, Mbuffer *buff, Dyndata *dyd, const char *name, int firstchar)
Definition: lparser.c:1931
LUALIB_API int luaL_argerror(lua_State *L, int arg, const char *extramsg)
Definition: lauxlib.c:175
void luaD_inctop(lua_State *L)
Definition: ldo.c:281
LUA_API const char * lua_pushfstring(lua_State *L, const char *fmt,...)
Definition: lapi.c:542
int na
Definition: lparser.c:830
lu_byte kind
Definition: lparser.h:99
Definition: lparser.c:826
#define LUA_STRFTIMEOPTIONS
Definition: loslib.c:49
int pc
Definition: lparser.h:149
lu_byte isloop
Definition: lparser.c:55
static int newupvalue(FuncState *fs, TString *name, expdesc *v)
Definition: lparser.c:364
@ OP_VARARGPREP
Definition: lopcodes.h:306
static int explist(LexState *ls, expdesc *v)
Definition: lparser.c:1000
ls_byte * lineinfo
Definition: lobject.h:548
Definition: lparser.c:1307
lu_byte ridx
Definition: lparser.h:100
@ VFALSE
Definition: lparser.h:30
static void mainfunc(LexState *ls, FuncState *fs)
Definition: lparser.c:1913
Definition: lparser.h:120
@ OPR_CONCAT
Definition: lcode.h:34
static void checktoclose(LexState *ls, int level)
Definition: lparser.c:1706
expkind k
Definition: lparser.h:69
Definition: lauxlib.h:182
@ VINDEXSTR
Definition: lparser.h:52
static void recfield(LexState *ls, ConsControl *cc)
Definition: lparser.c:835
#define luaL_opt(L, f, n, d)
Definition: lauxlib.h:151
#define UNARY_PRIORITY
Definition: lparser.c:1241
@ VRELOC
Definition: lparser.h:57
lua_Integer ival
Definition: lparser.h:71
int line
Definition: lparser.h:113
void luaK_ret(FuncState *fs, int first, int nret)
Definition: lcode.c:206
@ TK_EOS
Definition: llex.h:41
#define luaL_argcheck(L, cond, arg, extramsg)
Definition: lauxlib.h:132
static UnOpr getunopr(int op)
Definition: lparser.c:1183
@ VKSTR
Definition: lparser.h:34
#define luaL_addchar(B, c)
Definition: lauxlib.h:198
void luaK_settablesize(FuncState *fs, int pc, int ra, int asize, int hsize)
Definition: lcode.c:1740
static void labelstat(LexState *ls, TString *name, int line)
Definition: lparser.c:1446
Table * luaH_new(lua_State *L)
Definition: ltable.c:596
static void gotostat(LexState *ls)
Definition: lparser.c:1404
TValue k
Definition: lparser.h:104
expdesc v
Definition: lparser.c:827
LUA_INTEGER lua_Integer
Definition: lua.h:94
int firstlabel
Definition: lparser.c:51
#define lua_isboolean(L, n)
Definition: lua.h:376
@ OPR_MINUS
Definition: lcode.h:51
static void retstat(LexState *ls)
Definition: lparser.c:1802
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
struct Proto * p
Definition: lobject.h:633
struct Labellist Labellist
static void forlist(LexState *ls, TString *indexname)
Definition: lparser.c:1580
@ TK_GE
Definition: llex.h:39
LUA_API void lua_pushboolean(lua_State *L, int b)
Definition: lapi.c:581
static BinOpr subexpr(LexState *ls, expdesc *v, int limit)
Definition: lparser.c:1248
static void parlist(LexState *ls)
Definition: lparser.c:947
void luaK_exp2val(FuncState *fs, expdesc *e)
Definition: lcode.c:977
static void whilestat(LexState *ls, int line)
Definition: lparser.c:1456
Definition: lobject.h:522
@ OPR_BXOR
Definition: lcode.h:31
@ OPR_BNOT
Definition: lcode.h:51
#define l_timet
Definition: loslib.c:67
LUALIB_API void luaL_checktype(lua_State *L, int arg, int t)
Definition: lauxlib.c:390
LUA_API void lua_close(lua_State *L)
Definition: lstate.c:402
TValue * k
Definition: lobject.h:544
#define l_gettime(L, arg)
Definition: loslib.c:69
void luaK_nil(FuncState *fs, int from, int n)
Definition: lcode.c:130
Proto * luaF_newproto(lua_State *L)
Definition: lfunc.c:246
@ VVOID
Definition: lparser.h:26
Definition: lobject.h:631
int sizelineinfo
Definition: lobject.h:538
int luaK_getlabel(FuncState *fs)
Definition: lcode.c:231
@ TK_CONCAT
Definition: llex.h:39
lu_byte maxstacksize
Definition: lobject.h:534
lu_byte instack
Definition: lobject.h:495
static time_t l_checktime(lua_State *L, int arg)
Definition: loslib.c:293
static void ifstat(LexState *ls, int line)
Definition: lparser.c:1663
const char * luaO_pushfstring(lua_State *L, const char *fmt,...)
Definition: lobject.c:539
#define luaM_growvector(L, v, nelems, size, t, limit, e)
Definition: lmem.h:66
@ OPR_LE
Definition: lcode.h:36
#define SIZETIMEFMT
Definition: loslib.c:301
Definition: lparser.h:128
int sizeupvalues
Definition: lobject.h:535
BinOpr
Definition: lcode.h:26
static void open_func(LexState *ls, FuncState *fs, BlockCnt *bl)
Definition: lparser.c:717
#define l_pushtime(L, t)
Definition: loslib.c:68
@ TK_INT
Definition: llex.h:42
l_uint32 Instruction
Definition: llimits.h:194
static void block(LexState *ls)
Definition: lparser.c:1293
struct Labeldesc Labeldesc
struct FuncState FuncState
LUALIB_API char * luaL_prepbuffsize(luaL_Buffer *B, size_t sz)
Definition: lauxlib.c:565
void luaK_checkstack(FuncState *fs, int n)
Definition: lcode.c:474
static void movegotosout(FuncState *fs, BlockCnt *bl)
Definition: lparser.c:616
Labellist gt
Definition: lparser.h:134
OpCode
Definition: lopcodes.h:196
static Proto * addprototype(LexState *ls)
Definition: lparser.c:686
#define LUA_TNIL
Definition: lua.h:65
struct BlockCnt * previous
Definition: lparser.c:50
#define LUAMOD_API
Definition: luaconf.h:286
@ TK_FOR
Definition: llex.h:35
@ TK_GOTO
Definition: llex.h:36
static int os_date(lua_State *L)
Definition: loslib.c:304
int size
Definition: lparser.h:123
lu_byte close
Definition: lparser.h:115
static void repeatstat(LexState *ls, int line)
Definition: lparser.c:1475
void luaK_prefix(FuncState *fs, UnOpr op, expdesc *e, int line)
Definition: lcode.c:1561
@ VKINT
Definition: lparser.h:33
static Labeldesc * findlabel(LexState *ls, TString *name)
Definition: lparser.c:532
static void forbody(LexState *ls, int base, int line, int nvars, int isgen)
Definition: lparser.c:1532
@ OPR_POW
Definition: lcode.h:28
#define sethvalue2s(L, o, h)
Definition: lobject.h:666
LUALIB_API lua_Integer luaL_optinteger(lua_State *L, int arg, lua_Integer def)
Definition: lauxlib.c:452
lu_byte nups
Definition: lparser.h:159
void luaK_setoneret(FuncState *fs, expdesc *e)
Definition: lcode.c:745
int luaK_exp2const(FuncState *fs, const expdesc *e, TValue *v)
Definition: lcode.c:83
static void funcstat(LexState *ls, int line)
Definition: lparser.c:1772
@ VCALL
Definition: lparser.h:59
Definition: lobject.h:530
lu_byte freereg
Definition: lparser.h:160
lu_byte nactvar
Definition: lparser.h:158
@ OPR_SHR
Definition: lcode.h:32
static void suffixedexp(LexState *ls, expdesc *v)
Definition: lparser.c:1090
static int os_execute(lua_State *L)
Definition: loslib.c:142
static int block_follow(LexState *ls, int withuntil)
Definition: lparser.c:776
int luaY_nvarstack(FuncState *fs)
Definition: lparser.c:243
static void field(LexState *ls, ConsControl *cc)
Definition: lparser.c:891
#define luaL_newlib(L, l)
Definition: lauxlib.h:129
static void markupval(FuncState *fs, int level)
Definition: lparser.c:410
#define MAX_INT
Definition: llimits.h:53
lu_byte nactvar
Definition: lparser.h:114
LUALIB_API int luaL_error(lua_State *L, const char *fmt,...)
Definition: lauxlib.c:234
@ VVARARG
Definition: lparser.h:60
@ TK_TRUE
Definition: llex.h:37
static void init_var(FuncState *fs, expdesc *e, int vidx)
Definition: lparser.c:266
static void codeclosure(LexState *ls, expdesc *v)
Definition: lparser.c:710
@ TK_NIL
Definition: llex.h:36
@ TK_DOTS
Definition: llex.h:39
int firstgoto
Definition: lparser.c:52
void luaK_indexed(FuncState *fs, expdesc *t, expdesc *k)
Definition: lcode.c:1269
LClosure * luaF_newLclosure(lua_State *L, int nupvals)
Definition: lfunc.c:35
static void check_match(LexState *ls, int what, int who, int where)
Definition: lparser.c:130
static void listfield(LexState *ls, ConsControl *cc)
Definition: lparser.c:884
void luaK_setreturns(FuncState *fs, expdesc *e, int nresults)
Definition: lcode.c:712
@ TK_DO
Definition: llex.h:35
@ OPR_LT
Definition: lcode.h:36
static void expr(LexState *ls, expdesc *v)
Definition: lparser.c:1278
TString * source
Definition: llex.h:76
Labeldesc * arr
Definition: lparser.h:121
Definition: lobject.h:493
int firstlocal
Definition: lparser.h:155
static const char * checkoption(lua_State *L, const char *conv, ptrdiff_t convlen, char *buff)
Definition: loslib.c:274
lu_byte idx
Definition: lobject.h:496
@ TK_STRING
Definition: llex.h:42
LUA_API lua_Integer lua_tointegerx(lua_State *L, int idx, int *pisnum)
Definition: lapi.c:365
void luaK_finish(FuncState *fs)
Definition: lcode.c:1794
@ TK_NAME
Definition: llex.h:42
void luaK_dischargevars(FuncState *fs, expdesc *e)
Definition: lcode.c:763
void luaK_concat(FuncState *fs, int *l1, int l2)
Definition: lcode.c:180
@ VINDEXI
Definition: lparser.h:49
static int newlabelentry(LexState *ls, Labellist *l, TString *name, int line, int pc)
Definition: lparser.c:548
lu_byte nactvar
Definition: lparser.c:53
static int reglevel(FuncState *fs, int nvar)
Definition: lparser.c:229
TString * ts
Definition: llex.h:52
StkId top
Definition: lstate.h:278
static void checknext(LexState *ls, int c)
Definition: lparser.c:116
Token t
Definition: llex.h:68
#define eqstr(a, b)
Definition: lparser.c:43
lua_Number nval
Definition: lparser.h:72
#define enterlevel(ls)
Definition: lparser.c:492
@ OP_TFORCALL
Definition: lopcodes.h:297
short pidx
Definition: lparser.h:101
Definition: lobject.h:505
LUA_API int lua_toboolean(lua_State *L, int idx)
Definition: lapi.c:375
void luaK_goiftrue(FuncState *fs, expdesc *e)
Definition: lcode.c:1124
static void lastlistfield(FuncState *fs, ConsControl *cc)
Definition: lparser.c:868
static void statement(LexState *ls)
Definition: lparser.c:1834
l_noret luaK_semerror(LexState *ls, const char *msg)
Definition: lcode.c:45
UnOpr
Definition: lcode.h:51
static LocVar * localdebuginfo(FuncState *fs, int vidx)
Definition: lparser.c:251
@ OPR_OR
Definition: lcode.h:39
@ OPR_BAND
Definition: lcode.h:31
lu_byte iwthabs
Definition: lparser.h:161
int pc
Definition: lparser.h:112
@ OPR_NE
Definition: lcode.h:37
#define luaK_codeABC(fs, o, a, b, c)
Definition: lcode.h:48
static int createlabel(LexState *ls, TString *name, int line, int last)
Definition: lparser.c:596
static int searchvar(FuncState *fs, TString *n, expdesc *var)
Definition: lparser.c:390
void luaK_reserveregs(FuncState *fs, int n)
Definition: lcode.c:488
LocVar * locvars
Definition: lobject.h:550
int luaK_codeABx(FuncState *fs, OpCode o, int a, unsigned int bc)
Definition: lcode.c:416
lu_byte t
Definition: lparser.h:77
static void setallfields(lua_State *L, struct tm *stm)
Definition: loslib.c:230
void luaK_self(FuncState *fs, expdesc *e, expdesc *key)
Definition: lcode.c:1076
int t
Definition: lparser.h:84
#define RDKTOCLOSE
Definition: lparser.h:92
@ OP_FORPREP
Definition: lopcodes.h:293
static void funcargs(LexState *ls, expdesc *f, int line)
Definition: lparser.c:1013
LUA_API void lua_createtable(lua_State *L, int narray, int nrec)
Definition: lapi.c:738
int endpc
Definition: lobject.h:508
int sizelocvars
Definition: lobject.h:540
int size
Definition: lparser.h:132
#define l_localtime(t, r)
Definition: loslib.c:95
@ OP_NEWTABLE
Definition: lopcodes.h:222
#define luaL_addsize(B, s)
Definition: lauxlib.h:202
int token
Definition: llex.h:57
#define luaS_newliteral(L, s)
Definition: lstring.h:28
static int os_difftime(lua_State *L)
Definition: loslib.c:372
@ TK_EQ
Definition: llex.h:39
@ TK_FUNCTION
Definition: llex.h:35
#define getinstruction(fs, e)
Definition: lcode.h:55
TString * name
Definition: lparser.h:102
static void singlevar(LexState *ls, expdesc *var)
Definition: lparser.c:452
static void test_then_block(LexState *ls, int *escapelist)
Definition: lparser.c:1626
static int os_remove(lua_State *L)
Definition: loslib.c:156
#define NO_JUMP
Definition: lcode.h:20
int luaX_lookahead(LexState *ls)
Definition: llex.c:576
int tostore
Definition: lparser.c:831
void luaK_exp2nextreg(FuncState *fs, expdesc *e)
Definition: lcode.c:933
#define cast_int(i)
Definition: llimits.h:128
int n
Definition: lparser.h:131
TString * envn
Definition: llex.h:77
@ TK_LE
Definition: llex.h:39
static int newgotoentry(LexState *ls, TString *name, int line, int pc)
Definition: lparser.c:563
static void exprstat(LexState *ls)
Definition: lparser.c:1784
#define lua_tmpnam(b, e)
Definition: loslib.c:133