#include <ctype.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 "lzio.h"
Include dependency graph for llex.c:
Go to the source code of this file.
Defines | |
#define | llex_c |
#define | next(LS) (LS->current = zgetc(LS->z)) |
#define | MAXSRC 80 |
#define | EXTRABUFF 32 |
#define | MAXNOCHECK 5 |
#define | checkbuffer(LS, len) |
#define | save(LS, c, l) (luaZ_buffer((LS)->buff)[l++] = cast(char, c)) |
#define | save_and_next(LS, l) (save(LS, LS->current, l), next(LS)) |
Functions | |
void | luaX_init (lua_State *L) |
void | luaX_checklimit (LexState *ls, int val, int limit, const char *msg) |
void | luaX_errorline (LexState *ls, const char *s, const char *token, int line) |
static void | luaX_error (LexState *ls, const char *s, const char *token) |
void | luaX_syntaxerror (LexState *ls, const char *msg) |
const char * | luaX_token2str (LexState *ls, int token) |
static void | luaX_lexerror (LexState *ls, const char *s, int token) |
static void | inclinenumber (LexState *LS) |
void | luaX_setinput (lua_State *L, LexState *LS, ZIO *z, TString *source) |
static size_t | readname (LexState *LS) |
static void | read_numeral (LexState *LS, int comma, SemInfo *seminfo) |
static void | read_long_string (LexState *LS, SemInfo *seminfo) |
static void | read_string (LexState *LS, int del, SemInfo *seminfo) |
int | luaX_lex (LexState *LS, SemInfo *seminfo) |
Variables | |
static const char *const | token2string [] |
|
Value: if (((len)+MAXNOCHECK)*sizeof(char) > luaZ_sizebuffer((LS)->buff)) \ luaZ_openspace((LS)->L, (LS)->buff, (len)+EXTRABUFF) Definition at line 159 of file llex.c. Referenced by read_long_string(), read_numeral(), read_string(), and readname(). |
|
|
|
|
|
|
|
Definition at line 52 of file llex.c. Referenced by luaX_errorline(). |
|
Definition at line 25 of file llex.c. Referenced by breakstat(), doReadRC(), forstat(), freeRpmVar(), Fts_read(), funcargs(), funcstat(), ifstat(), inclinenumber(), luaK_concat(), luaK_patchlistaux(), luaS_resize(), luaX_lex(), luaX_setinput(), luaY_field(), luaY_index(), luaY_parser(), parlist(), parseFormat(), prefixexp(), primaryexp(), read_string(), repeatstat(), retstat(), rpmalAdd(), rpmdbClose(), rpmdbFreeIterator(), rpmFreeRpmrc(), rpmGetVarArch(), rpmReadPackageManifest(), rpmSetVarArch(), simpleexp(), statement(), str_checkname(), subexpr(), test_then_block(), testnext(), and whilestat(). |
|
Definition at line 163 of file llex.c. Referenced by read_long_string(), read_numeral(), read_string(), readname(), rpmdsMerge(), rpmdsSearch(), rpmfiDecideFate(), and rpmsqAction(). |
|
Definition at line 165 of file llex.c. Referenced by read_long_string(), read_numeral(), read_string(), and readname(). |
|
Definition at line 117 of file llex.c. References LexState::linenumber, luaX_checklimit(), MAX_INT, and next. Referenced by luaX_lex(), read_long_string(), and read_string(). |
|
Definition at line 55 of file llex.c. References LexState::L, luaO_pushfstring(), and luaX_syntaxerror(). Referenced by code_params(), inclinenumber(), indexupvalue(), listfield(), new_localvar(), and recfield(). |
|
Definition at line 72 of file llex.c. References LexState::linenumber, and luaX_errorline(). Referenced by luaX_lex(), luaX_lexerror(), and luaX_syntaxerror(). |
|
Definition at line 63 of file llex.c. References getstr, LexState::L, luaD_throw(), luaO_chunkid(), luaO_pushfstring(), MAXSRC, and LexState::source. Referenced by luaX_error(), and prefixexp(). |
|
Definition at line 41 of file llex.c. References cast, lua_assert, luaS_fix, luaS_new, NUM_RESERVED, token2string, TOKEN_LEN, and TString::tsv. Referenced by f_luaopen(). |
|
Definition at line 329 of file llex.c. References LexState::buff, LexState::current, EOZ, FIRST_RESERVED, inclinenumber(), LexState::L, luaO_pushfstring(), luaS_newlstr(), luaX_error(), luaZ_buffer, next, read_long_string(), read_numeral(), read_string(), readname(), 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 lookahead(), and next(). |
|
Definition at line 107 of file llex.c. References luaX_error(), luaX_token2str(), luaZ_buffer, and TK_EOS. Referenced by read_long_string(), read_numeral(), and read_string(). |
|
Definition at line 126 of file llex.c. References LexState::current, EOZ, LexState::fs, LexState::L, LexState::lastline, LexState::linenumber, LexState::lookahead, next, LexState::source, TK_EOS, Token::token, and LexState::z. Referenced by luaY_parser(). |
|
Definition at line 79 of file llex.c. References LexState::buff, getstr, luaX_error(), luaX_token2str(), luaZ_buffer, Token::seminfo, LexState::t, TK_NAME, TK_NUMBER, TK_STRING, Token::token, and SemInfo::ts. Referenced by breakstat(), check_match(), error_expected(), forstat(), funcargs(), luaK_checkstack(), luaK_fixjump(), luaX_checklimit(), parlist(), prefixexp(), and whilestat(). |
|
Definition at line 97 of file llex.c. References FIRST_RESERVED, LexState::L, lua_assert, luaO_pushfstring(), and token2string. Referenced by check_match(), error_expected(), luaX_lexerror(), and luaX_syntaxerror(). |
|
Definition at line 222 of file llex.c. References LexState::buff, checkbuffer, LexState::current, EOZ, inclinenumber(), LexState::L, luaS_newlstr(), luaX_lexerror(), luaZ_buffer, save, save_and_next, TK_EOS, and SemInfo::ts. Referenced by luaX_lex(). |
|
Definition at line 183 of file llex.c. References checkbuffer, luaO_str2d(), luaX_lexerror(), luaZ_buffer, SemInfo::r, save, save_and_next, and TK_NUMBER. Referenced by luaX_lex(). |
|
Definition at line 271 of file llex.c. References LexState::buff, checkbuffer, LexState::current, EOZ, inclinenumber(), LexState::L, luaS_newlstr(), luaX_lexerror(), luaZ_buffer, next, save, save_and_next, TK_EOS, TK_STRING, and SemInfo::ts. Referenced by luaX_lex(). |
|
Definition at line 168 of file llex.c. References checkbuffer, LexState::current, save, and save_and_next. Referenced by luaX_lex(). |
|
Initial value: { "and", "break", "do", "else", "elseif", "end", "false", "for", "function", "if", "in", "local", "nil", "not", "or", "repeat", "return", "then", "true", "until", "while", "*name", "..", "...", "==", ">=", "<=", "~=", "*number", "*string", "<eof>" } Definition at line 31 of file llex.c. Referenced by luaX_init(), and luaX_token2str(). |