Go to the source code of this file.
Defines | |
#define | llex_c |
#define | LUA_CORE |
#define | next(ls) (ls->current = zgetc(ls->z)) |
#define | currIsNewline(ls) (ls->current == '\n' || ls->current == '\r') |
#define | save_and_next(ls) (save(ls, ls->current), next(ls)) |
#define | MAXSRC 80 |
Functions | |
static void | save (LexState *ls, int c) |
void | luaX_init (lua_State *L) |
const char * | luaX_token2str (LexState *ls, int token) |
static const char * | txtToken (LexState *ls, int token) |
void | luaX_lexerror (LexState *ls, const char *msg, int token) |
void | luaX_syntaxerror (LexState *ls, const char *msg) |
TString * | luaX_newstring (LexState *ls, const char *str, size_t l) |
static void | inclinenumber (LexState *ls) |
void | luaX_setinput (lua_State *L, LexState *ls, ZIO *z, TString *source) |
static int | check_next (LexState *ls, const char *set) |
static void | buffreplace (LexState *ls, char from, char to) |
static void | trydecpoint (LexState *ls, SemInfo *seminfo) |
static void | read_numeral (LexState *ls, SemInfo *seminfo) |
static int | skip_sep (LexState *ls) |
static void | read_long_string (LexState *ls, SemInfo *seminfo, int sep) |
static void | read_string (LexState *ls, int del, SemInfo *seminfo) |
static int | llex (LexState *ls, SemInfo *seminfo) |
void | luaX_next (LexState *ls) |
void | luaX_lookahead (LexState *ls) |
Variables | |
const char *const | luaX_tokens [] |
#define currIsNewline | ( | ls | ) | (ls->current == '\n' || ls->current == '\r') |
Definition at line 33 of file llex.c.
Referenced by inclinenumber(), llex(), and read_long_string().
#define MAXSRC 80 |
Definition at line 75 of file llex.c.
Referenced by luaX_lexerror().
#define next | ( | ls | ) | (ls->current = zgetc(ls->z)) |
Definition at line 28 of file llex.c.
Referenced by getOverflowPage(), inclinenumber(), llex(), luaK_concat(), luaS_resize(), luaX_setinput(), patchlistaux(), read_long_string(), read_string(), and sqlite3BtreeInitPage().
#define save_and_next | ( | ls | ) | (save(ls, ls->current), next(ls)) |
Definition at line 48 of file llex.c.
Referenced by check_next(), llex(), read_long_string(), read_numeral(), read_string(), and skip_sep().
static void buffreplace | ( | LexState * | ls, | |
char | from, | |||
char | to | |||
) | [static] |
Definition at line 169 of file llex.c.
References LexState::buff, luaZ_buffer, and luaZ_bufflen.
Referenced by read_numeral(), and trydecpoint().
static int check_next | ( | LexState * | ls, | |
const char * | set | |||
) | [static] |
Definition at line 161 of file llex.c.
References LexState::current, and save_and_next.
Referenced by llex(), and read_numeral().
static void inclinenumber | ( | LexState * | ls | ) | [static] |
Definition at line 127 of file llex.c.
References LexState::current, currIsNewline, LexState::linenumber, lua_assert, luaX_syntaxerror(), MAX_INT, and next.
Referenced by llex(), read_long_string(), and read_string().
Definition at line 332 of file llex.c.
References LexState::buff, check_next(), LexState::current, currIsNewline, EOZ, FIRST_RESERVED, inclinenumber(), lua_assert, luaX_lexerror(), luaX_newstring(), luaZ_buffer, luaZ_bufflen, luaZ_resetbuffer, next, read_long_string(), read_numeral(), read_string(), TString::reserved, save_and_next, skip_sep(), TK_CONCAT, TK_DOTS, TK_EOS, TK_EQ, TK_GE, TK_LE, TK_NAME, TK_NE, TK_NUMBER, TK_STRING, SemInfo::ts, and TString::tsv.
Referenced by luaX_lookahead(), and luaX_next().
void luaX_init | ( | lua_State * | L | ) |
Definition at line 64 of file llex.c.
References cast_byte, lua_assert, luaS_fix, luaS_new, luaX_tokens, NUM_RESERVED, TString::reserved, TOKEN_LEN, and TString::tsv.
Referenced by f_luaopen().
void luaX_lexerror | ( | LexState * | ls, | |
const char * | msg, | |||
int | token | |||
) |
Definition at line 102 of file llex.c.
References getstr, LexState::L, LexState::linenumber, LUA_ERRSYNTAX, LUA_QS, luaD_throw(), luaO_chunkid(), luaO_pushfstring(), MAXSRC, LexState::source, and txtToken().
Referenced by enterlevel(), errorlimit(), llex(), luaX_syntaxerror(), read_long_string(), read_string(), save(), and trydecpoint().
void luaX_lookahead | ( | LexState * | ls | ) |
Definition at line 457 of file llex.c.
References llex(), LexState::lookahead, lua_assert, Token::seminfo, TK_EOS, and Token::token.
Referenced by constructor().
Definition at line 117 of file llex.c.
References LexState::fs, FuncState::h, LexState::L, luaH_setstr(), luaS_newlstr(), setbvalue, and ttisnil.
Referenced by anchor_token(), llex(), read_long_string(), and read_string().
void luaX_next | ( | LexState * | ls | ) |
Definition at line 446 of file llex.c.
References LexState::lastline, LexState::linenumber, llex(), LexState::lookahead, Token::seminfo, LexState::t, TK_EOS, and Token::token.
Referenced by checknext(), field(), forstat(), funcargs(), funcstat(), ifstat(), luaY_parser(), parlist(), prefixexp(), primaryexp(), repeatstat(), retstat(), simpleexp(), statement(), str_checkname(), subexpr(), test_then_block(), testnext(), whilestat(), and yindex().
Definition at line 138 of file llex.c.
References LexState::buff, LexState::decpoint, LexState::fs, LexState::L, LexState::lastline, LexState::linenumber, LexState::lookahead, LUA_MINBUFFER, luaZ_resizebuffer, next, LexState::source, TK_EOS, Token::token, and LexState::z.
Referenced by luaY_parser().
void luaX_syntaxerror | ( | LexState * | ls, | |
const char * | msg | |||
) |
Definition at line 112 of file llex.c.
References luaX_lexerror(), LexState::t, and Token::token.
Referenced by breakstat(), check_match(), error_expected(), fixjump(), forstat(), funcargs(), inclinenumber(), luaK_checkstack(), parlist(), and prefixexp().
const char* luaX_token2str | ( | LexState * | ls, | |
int | token | |||
) |
Definition at line 78 of file llex.c.
References cast, FIRST_RESERVED, LexState::L, lua_assert, luaO_pushfstring(), and luaX_tokens.
Referenced by check_match(), error_expected(), and txtToken().
Definition at line 221 of file llex.c.
References LexState::buff, LexState::current, currIsNewline, EOZ, inclinenumber(), luaX_lexerror(), luaX_newstring(), luaZ_buffer, luaZ_bufflen, luaZ_resetbuffer, next, save(), save_and_next, skip_sep(), TK_EOS, and SemInfo::ts.
Referenced by llex().
Definition at line 192 of file llex.c.
References LexState::buff, buffreplace(), check_next(), LexState::current, LexState::decpoint, lua_assert, luaO_str2d(), luaZ_buffer, SemInfo::r, save(), save_and_next, and trydecpoint().
Referenced by llex().
Definition at line 276 of file llex.c.
References LexState::buff, LexState::current, EOZ, inclinenumber(), luaX_lexerror(), luaX_newstring(), luaZ_buffer, luaZ_bufflen, next, save(), save_and_next, TK_EOS, TK_STRING, and SemInfo::ts.
Referenced by llex().
static void save | ( | LexState * | ls, | |
int | c | |||
) | [static] |
Definition at line 51 of file llex.c.
References LexState::buff, Mbuffer::buffer, Mbuffer::buffsize, cast, LexState::L, luaX_lexerror(), luaZ_resizebuffer, MAX_SIZET, and Mbuffer::n.
Referenced by read_long_string(), read_numeral(), read_string(), and txtToken().
static int skip_sep | ( | LexState * | ls | ) | [static] |
Definition at line 208 of file llex.c.
References LexState::current, lua_assert, and save_and_next.
Referenced by llex(), and read_long_string().
Definition at line 177 of file llex.c.
References LexState::buff, buffreplace(), LexState::decpoint, luaO_str2d(), luaX_lexerror(), luaZ_buffer, SemInfo::r, and TK_NUMBER.
Referenced by read_numeral().
static const char* txtToken | ( | LexState * | ls, | |
int | token | |||
) | [static] |
Definition at line 89 of file llex.c.
References LexState::buff, luaX_token2str(), luaZ_buffer, save(), TK_NAME, TK_NUMBER, and TK_STRING.
Referenced by luaX_lexerror().
const char* const luaX_tokens[] |
{ "and", "break", "do", "else", "elseif", "end", "false", "for", "function", "if", "in", "local", "nil", "not", "or", "repeat", "return", "then", "true", "until", "while", "..", "...", "==", ">=", "<=", "~=", "<number>", "<name>", "<string>", "<eof>", NULL }
Definition at line 37 of file llex.c.
Referenced by luaX_init(), and luaX_token2str().
ContextLogger2—ContextLogger2 Logger Daemon Internals—Generated on Mon May 2 13:50:00 2011 by Doxygen 1.6.1