#include <ctype.h>#include <locale.h>#include <string.h>#include "lua.h"#include "ldo.h"#include "llex.h"#include "lobject.h"#include "lparser.h"#include "lstate.h"#include "lstring.h"#include "ltable.h"#include "lzio.h"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 [] |
Definition at line 33 of file llex.cpp.
Referenced by inclinenumber(), llex(), and read_long_string().
| #define MAXSRC 80 |
| #define next | ( | ls | ) | (ls->current = zgetc(ls->z)) |
Definition at line 28 of file llex.cpp.
Referenced by LangStringConverter::appendValue(), LandscapeDefinitions::getRandomLandscapeDefnEntry(), inclinenumber(), llex(), luaK_concat(), luaS_resize(), luaX_setinput(), TutorialConditionTankDead::parseXML(), TutorialConditionFirstMove::parseXML(), TutorialConditionWindowVisible::parseXML(), patchlistaux(), ServerBrowserInfo::processMessages(), read_long_string(), and read_string().
| #define save_and_next | ( | ls | ) | (save(ls, ls->current), next(ls)) |
Definition at line 48 of file llex.cpp.
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.cpp.
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.cpp.
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.cpp.
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.cpp.
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, NULL, 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 | ) |
| void luaX_lexerror | ( | LexState * | ls, | |
| const char * | msg, | |||
| int | token | |||
| ) |
Definition at line 102 of file llex.cpp.
Referenced by enterlevel(), errorlimit(), llex(), luaX_syntaxerror(), read_long_string(), read_string(), save(), and trydecpoint().
| void luaX_lookahead | ( | LexState * | ls | ) |
Definition at line 117 of file llex.cpp.
Referenced by anchor_token(), llex(), read_long_string(), and read_string().
| void luaX_next | ( | LexState * | ls | ) |
Definition at line 446 of file llex.cpp.
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().
| void luaX_syntaxerror | ( | LexState * | ls, | |
| const char * | msg | |||
| ) |
Definition at line 112 of file llex.cpp.
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.cpp.
Referenced by check_match(), error_expected(), and txtToken().
Definition at line 221 of file llex.cpp.
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.cpp.
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.cpp.
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.cpp.
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.cpp.
References LexState::current, lua_assert, and save_and_next.
Referenced by llex(), and read_long_string().
Definition at line 177 of file llex.cpp.
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.cpp.
References LexState::buff, luaX_token2str(), luaZ_buffer, save(), TK_NAME, TK_NUMBER, and TK_STRING.
Referenced by luaX_lexerror().
| const char* const luaX_tokens[] |
Initial value:
{
"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.cpp.
Referenced by luaX_init(), and luaX_token2str().
1.5.3