LexState
static l_noret lexerror (LexState *ls, const char *msg, int token) {
l_noret 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 escerror (LexState *ls, int *c, int n, const char *msg) {
static int readhexaesc (LexState *ls) {
static int readdecesc (LexState *ls) {
static void read_string (LexState *ls, int del, SemInfo *seminfo) {
static int llex (LexState *ls, SemInfo *seminfo) {
static l_noret lexerror (LexState *ls, const char *msg, int token);
static void save (LexState *ls, int c) {
void luaX_next (LexState *ls) {
int luaX_lookahead (LexState *ls) {
const char *luaX_token2str (LexState *ls, int token) {
static const char *txtToken (LexState *ls, int token) {
LUAI_FUNC void luaX_setinput (lua_State *L, LexState *ls, ZIO *z,
LUAI_FUNC TString *luaX_newstring (LexState *ls, const char *str, size_t l);
LUAI_FUNC void luaX_next (LexState *ls);
LUAI_FUNC int luaX_lookahead (LexState *ls);
LUAI_FUNC l_noret luaX_syntaxerror (LexState *ls, const char *s);
LUAI_FUNC const char *luaX_token2str (LexState *ls, int token);
static int testnext (LexState *ls, int c) {
static BinOpr subexpr (LexState *ls, expdesc *v, int limit) {
static void expr (LexState *ls, expdesc *v) {
static void block (LexState *ls) {
static void check (LexState *ls, int c) {
static void check_conflict (LexState *ls, struct LHS_assign *lh, expdesc *v) {
static void assignment (LexState *ls, struct LHS_assign *lh, int nvars) {
static void checknext (LexState *ls, int c) {
static int cond (LexState *ls) {
static void gotostat (LexState *ls, int pc) {
static void skipnoopstat (LexState *ls) {
static void labelstat (LexState *ls, TString *label, int line) {
static void whilestat (LexState *ls, int line) {
static void check_match (LexState *ls, int what, int who, int where) {
static void repeatstat (LexState *ls, int line) {
static int exp1 (LexState *ls) {
static void forbody (LexState *ls, int base, int line, int nvars, int isnum) {
static void fornum (LexState *ls, TString *varname, int line) {
static void forlist (LexState *ls, TString *indexname) {
static void forstat (LexState *ls, int line) {
static void test_then_block (LexState *ls, int *escapelist) {
static TString *str_checkname (LexState *ls) {
static void ifstat (LexState *ls, int line) {
static void localfunc (LexState *ls) {
static void localstat (LexState *ls) {
static int funcname (LexState *ls, expdesc *v) {
static void funcstat (LexState *ls, int line) {
static void exprstat (LexState *ls) {
static void retstat (LexState *ls) {
static void statement (LexState *ls) {
static void codestring (LexState *ls, expdesc *e, TString *s) {
static void checkname (LexState *ls, expdesc *e) {
static void mainfunc (LexState *ls, FuncState *fs) {
LexState lexstate;
static int registerlocalvar (LexState *ls, TString *varname) {
static void new_localvar (LexState *ls, TString *name) {
static void new_localvarliteral_ (LexState *ls, const char *name, size_t sz) {
static void adjustlocalvars (LexState *ls, int nvars) {
static void singlevar (LexState *ls, expdesc *var) {
static void adjust_assign (LexState *ls, int nvars, int nexps, expdesc *e) {
static void enterlevel (LexState *ls) {
static void closegoto (LexState *ls, int g, Labeldesc *label) {
static int findlabel (LexState *ls, int g) {
static int newlabelentry (LexState *ls, Labellist *l, TString *name,
static void findgotos (LexState *ls, Labeldesc *lb) {
static void breaklabel (LexState *ls) {
static l_noret undefgoto (LexState *ls, Labeldesc *gt) {
LexState *ls = fs->ls;
static Proto *addprototype (LexState *ls) {
static void codeclosure (LexState *ls, expdesc *v) {
static void open_func (LexState *ls, FuncState *fs, BlockCnt *bl) {
static void statement (LexState *ls);
static void close_func (LexState *ls) {
static void expr (LexState *ls, expdesc *v);
static void anchor_token (LexState *ls) {
static int block_follow (LexState *ls, int withuntil) {
static void statlist (LexState *ls) {
static void fieldsel (LexState *ls, expdesc *v) {
static void yindex (LexState *ls, expdesc *v) {
static void recfield (LexState *ls, struct ConsControl *cc) {
static void listfield (LexState *ls, struct ConsControl *cc) {
static l_noret semerror (LexState *ls, const char *msg) {
static void field (LexState *ls, struct ConsControl *cc) {
static void constructor (LexState *ls, expdesc *t) {
static void parlist (LexState *ls) {
static l_noret error_expected (LexState *ls, int token) {
static void body (LexState *ls, expdesc *e, int ismethod, int line) {
static int explist (LexState *ls, expdesc *v) {
static void funcargs (LexState *ls, expdesc *f, int line) {
static void primaryexp (LexState *ls, expdesc *v) {
static void suffixedexp (LexState *ls, expdesc *v) {
static void simpleexp (LexState *ls, expdesc *v) {
struct LexState *ls; /* lexical state */