浏览该文件的文档.
20 #define FIRST_RESERVED (UCHAR_MAX + 1)
24 #define LUA_ENV "_ENV"
46 #define NUM_RESERVED (cast_int(TK_WHILE-FIRST_RESERVED + 1))
83 TString *source,
int firstchar);
void luaX_next(LexState *ls)
Definition: llex.c:565
@ TK_IF
Definition: llex.h:36
static int gethexa(LexState *ls)
Definition: llex.c:328
Table * h
Definition: llex.h:74
Mbuffer * buff
Definition: llex.h:73
#define s2v(o)
Definition: lobject.h:150
@ TK_SHR
Definition: llex.h:40
#define lisprint(c)
Definition: lctype.h:61
#define lua_assert(c)
Definition: lauxlib.h:169
lua_Number r
Definition: llex.h:50
static int check_next1(LexState *ls, int c)
Definition: llex.c:191
#define LUAI_FUNC
Definition: luaconf.h:307
char * buffer
Definition: lzio.h:24
#define cast_byte(i)
Definition: llimits.h:130
#define l_noret
Definition: llimits.h:178
struct FuncState * fs
Definition: llex.h:70
@ TK_THEN
Definition: llex.h:37
const char * luaX_token2str(LexState *ls, int token)
Definition: llex.c:82
#define luaZ_resizebuffer(L, buff, size)
Definition: lzio.h:39
#define isreserved(s)
Definition: lstring.h:35
static unsigned long readutf8esc(LexState *ls)
Definition: llex.c:343
#define LUA_ENV
Definition: llex.h:24
void luaX_setinput(lua_State *L, LexState *ls, ZIO *z, TString *source, int firstchar)
Definition: llex.c:167
@ TK_REPEAT
Definition: llex.h:36
static int read_numeral(LexState *ls, SemInfo *seminfo)
Definition: llex.c:227
@ TK_NE
Definition: llex.h:39
Definition: lparser.h:144
TString * luaS_newlstr(lua_State *L, const char *str, size_t l)
Definition: lstring.c:221
static const char * txtToken(LexState *ls, int token)
Definition: llex.c:99
@ TK_FLT
Definition: llex.h:42
#define lisdigit(c)
Definition: lctype.h:59
LUAI_FUNC int luaX_lookahead(LexState *ls)
Definition: llex.c:576
#define setsvalue(L, obj, x)
Definition: lobject.h:349
TString * luaS_new(lua_State *L, const char *str)
Definition: lstring.c:241
#define lisspace(c)
Definition: lctype.h:60
@ TK_IDIV
Definition: llex.h:39
#define luaC_checkGC(L)
Definition: lgc.h:162
#define luaZ_resetbuffer(buff)
Definition: lzio.h:36
@ TK_WHILE
Definition: llex.h:37
int current
Definition: llex.h:65
struct lua_State * L
Definition: llex.h:71
#define obj2gco(v)
Definition: lstate.h:347
@ TK_BREAK
Definition: llex.h:34
#define luaZ_sizebuffer(buff)
Definition: lzio.h:32
#define ttisinteger(o)
Definition: lobject.h:306
#define luaZ_bufflen(buff)
Definition: lzio.h:33
void luaC_fix(lua_State *L, GCObject *o)
Definition: lgc.c:243
@ TK_LOCAL
Definition: llex.h:36
LUA_NUMBER lua_Number
Definition: lua.h:90
#define nodefromval(v)
Definition: ltable.h:35
static void read_string(LexState *ls, int del, SemInfo *seminfo)
Definition: llex.c:382
static int check_next2(LexState *ls, const char *set)
Definition: llex.c:204
#define LUA_MINBUFFER
Definition: llimits.h:233
static int readdecesc(LexState *ls)
Definition: llex.c:369
#define lislalpha(c)
Definition: lctype.h:57
#define cast_char(i)
Definition: llimits.h:132
lua_Integer i
Definition: llex.h:51
@ TK_ELSE
Definition: llex.h:35
TString * luaX_newstring(LexState *ls, const char *str, size_t l)
Definition: llex.c:134
lu_byte extra
Definition: lobject.h:366
@ TK_DBCOLON
Definition: llex.h:41
@ TK_RETURN
Definition: llex.h:37
#define UTF8BUFFSZ
Definition: lobject.h:772
struct Dyndata * dyd
Definition: llex.h:75
@ TK_AND
Definition: llex.h:34
Token lookahead
Definition: llex.h:69
LUAI_FUNC void luaX_setinput(lua_State *L, LexState *ls, ZIO *z, TString *source, int firstchar)
Definition: llex.c:167
#define luaZ_buffer(buff)
Definition: lzio.h:31
@ TK_END
Definition: llex.h:35
@ TK_SHL
Definition: llex.h:40
@ TK_UNTIL
Definition: llex.h:37
@ TK_FALSE
Definition: llex.h:35
#define fltvalue(o)
Definition: lobject.h:310
#define ttisnil(v)
Definition: lobject.h:171
#define keystrval(node)
Definition: lobject.h:737
#define ivalue(o)
Definition: lobject.h:311
#define lisxdigit(c)
Definition: lctype.h:62
#define currIsNewline(ls)
Definition: llex.c:36
int linenumber
Definition: llex.h:66
l_noret luaX_syntaxerror(LexState *ls, const char *msg)
Definition: llex.c:119
static void read_long_string(LexState *ls, SemInfo *seminfo, size_t sep)
Definition: llex.c:280
@ TK_ELSEIF
Definition: llex.h:35
#define cast_void(i)
Definition: llimits.h:125
Definition: lobject.h:364
@ TK_NOT
Definition: llex.h:36
SemInfo seminfo
Definition: llex.h:58
@ TK_OR
Definition: llex.h:36
#define FIRST_RESERVED
Definition: llex.h:20
@ TK_IN
Definition: llex.h:36
LUAI_FUNC l_noret luaX_syntaxerror(LexState *ls, const char *s)
Definition: llex.c:119
Definition: lobject.h:714
static int readhexaesc(LexState *ls)
Definition: llex.c:335
const TValue * luaH_getstr(Table *t, TString *key)
Definition: ltable.c:742
@ TK_EOS
Definition: llex.h:41
int luaO_hexavalue(int c)
Definition: lobject.c:135
static const char *const luaX_tokens[]
Definition: llex.c:40
LUA_INTEGER lua_Integer
Definition: lua.h:94
LUAI_FUNC TString * luaX_newstring(LexState *ls, const char *str, size_t l)
Definition: llex.c:134
RESERVED
Definition: llex.h:32
@ TK_GE
Definition: llex.h:39
static void utf8esc(LexState *ls)
Definition: llex.c:361
static size_t skip_sep(LexState *ls)
Definition: llex.c:265
@ TK_CONCAT
Definition: llex.h:39
#define save_and_next(ls)
Definition: llex.c:51
#define LUA_ERRSYNTAX
Definition: lua.h:52
const char * luaO_pushfstring(lua_State *L, const char *fmt,...)
Definition: lobject.c:539
Definition: lparser.h:128
@ TK_INT
Definition: llex.h:42
size_t luaO_str2num(const char *s, TValue *o)
Definition: lobject.c:308
@ TK_FOR
Definition: llex.h:35
@ TK_GOTO
Definition: llex.h:36
l_noret luaD_throw(lua_State *L, int errcode)
Definition: ldo.c:114
void luaX_init(lua_State *L)
Definition: llex.c:70
#define MAX_INT
Definition: llimits.h:53
@ TK_TRUE
Definition: llex.h:37
LUAI_FUNC const char * luaX_token2str(LexState *ls, int token)
Definition: llex.c:82
@ TK_NIL
Definition: llex.h:36
@ TK_DOTS
Definition: llex.h:39
LUAI_FUNC void luaX_init(lua_State *L)
Definition: llex.c:70
#define MAX_SIZE
Definition: llimits.h:44
const char * luaG_addinfo(lua_State *L, const char *msg, TString *src, int line)
Definition: ldebug.c:742
@ TK_DO
Definition: llex.h:35
TString * source
Definition: llex.h:76
@ TK_STRING
Definition: llex.h:42
@ TK_NAME
Definition: llex.h:42
TString * ts
Definition: llex.h:52
StkId top
Definition: lstate.h:278
Token t
Definition: llex.h:68
int lastline
Definition: llex.h:67
static l_noret lexerror(LexState *ls, const char *msg, int token)
Definition: llex.c:111
static void save(LexState *ls, int c)
Definition: llex.c:57
#define luaZ_buffremove(buff, i)
Definition: lzio.h:35
int luaO_utf8esc(char *buff, unsigned long x)
Definition: lobject.c:323
ZIO * z
Definition: llex.h:72
#define next(ls)
Definition: llex.c:32
LUAI_FUNC void luaX_next(LexState *ls)
Definition: llex.c:565
void luaH_finishset(lua_State *L, Table *t, const TValue *key, const TValue *slot, TValue *value)
Definition: ltable.c:779
#define NUM_RESERVED
Definition: llex.h:46
#define lislalnum(c)
Definition: lctype.h:58
static int llex(LexState *ls, SemInfo *seminfo)
Definition: llex.c:445
int token
Definition: llex.h:57
#define luaS_newliteral(L, s)
Definition: lstring.h:28
static void inclinenumber(LexState *ls)
Definition: llex.c:156
@ TK_EQ
Definition: llex.h:39
@ TK_FUNCTION
Definition: llex.h:35
int luaX_lookahead(LexState *ls)
Definition: llex.c:576
#define EOZ
Definition: lzio.h:16
#define ttisfloat(o)
Definition: lobject.h:305
TString * envn
Definition: llex.h:77
@ TK_LE
Definition: llex.h:39
static void esccheck(LexState *ls, int c, const char *msg)
Definition: llex.c:319