#include <string.h>
#include "lua.h"
#include "lcode.h"
#include "ldebug.h"
#include "ldo.h"
#include "lfunc.h"
#include "llex.h"
#include "lmem.h"
#include "lobject.h"
#include "lopcodes.h"
#include "lparser.h"
#include "lstate.h"
#include "lstring.h"
#include "ltable.h"
Go to the source code of this file.
Classes | |
struct | BlockCnt |
struct | ConsControl |
struct | LHS_assign |
Macros | |
#define | lparser_c |
#define | LUA_CORE |
#define | MAXVARS 200 |
#define | hasmultret(k) ((k) == VCALL || (k) == VVARARG) |
#define | check_condition(ls, c, msg) { if (!(c)) luaX_syntaxerror(ls, msg); } |
#define | new_localvarliteral(ls, v) new_localvarliteral_(ls, "" v, (sizeof(v)/sizeof(char))-1) |
#define | leavelevel(ls) ((ls)->L->nCcalls--) |
#define | UNARY_PRIORITY 8 /* priority for unary operators */ |
Typedefs | |
typedef struct BlockCnt | BlockCnt |
Variables | |
struct { | |
lu_byte left | |
lu_byte right | |
} | priority [] |
#define check_condition | ( | ls, | |
c, | |||
msg | |||
) | { if (!(c)) luaX_syntaxerror(ls, msg); } |
Definition at line 121 of file lparser.cpp.
Referenced by assignment(), exprstat(), and simpleexp().
Definition at line 34 of file lparser.cpp.
Referenced by adjust_assign(), funcargs(), lastlistfield(), and retstat().
#define leavelevel | ( | ls | ) | ((ls)->L->nCcalls--) |
Definition at line 336 of file lparser.cpp.
Referenced by statement(), and subexpr().
#define lparser_c |
Definition at line 9 of file lparser.cpp.
#define LUA_CORE |
Definition at line 10 of file lparser.cpp.
#define MAXVARS 200 |
Definition at line 31 of file lparser.cpp.
Referenced by new_localvar().
#define new_localvarliteral | ( | ls, | |
v | |||
) | new_localvarliteral_(ls, "" v, (sizeof(v)/sizeof(char))-1) |
Definition at line 193 of file lparser.cpp.
#define UNARY_PRIORITY 8 /* priority for unary operators */ |
Definition at line 1029 of file lparser.cpp.
Referenced by subexpr().
Definition at line 497 of file lparser.cpp.
References FuncState::f, LexState::fs, LexState::L, luaC_objbarrier, luaF_newproto(), luaM_growvector, MAXARG_Bx, FuncState::np, Proto::p, and Proto::sizep.
Referenced by body().
Definition at line 309 of file lparser.cpp.
References FuncState::freereg, LexState::fs, hasmultret, expdesc::k, luaK_exp2nextreg(), luaK_nil(), luaK_reserveregs(), luaK_setreturns(), and VVOID.
Referenced by assignment(), forlist(), and localstat().
Definition at line 204 of file lparser.cpp.
References cast_byte, LexState::fs, getlocvar(), FuncState::nactvar, FuncState::pc, and LocVar::startpc.
Referenced by body(), forbody(), localfunc(), localstat(), and parlist().
Definition at line 59 of file lparser.cpp.
References LexState::fs, getstr, TString::len, lua_assert, luaX_newstring(), Token::seminfo, LexState::t, TK_EOS, TK_NAME, TK_STRING, Token::token, SemInfo::ts, and TString::tsv.
Referenced by close_func().
|
static |
Definition at line 1135 of file lparser.cpp.
References adjust_assign(), check_condition, check_conflict(), checklimit(), checknext(), e, explist(), FuncState::freereg, LexState::fs, init_exp(), expdesc::k, LexState::L, LUAI_MAXCCALLS, luaK_setoneret(), luaK_storevar(), lua_State::nCcalls, LHS_assign::prev, suffixedexp(), testnext(), LHS_assign::v, VINDEXED, vkisvar, and VNONRELOC.
Referenced by exprstat().
Definition at line 1081 of file lparser.cpp.
References enterblock(), LexState::fs, leaveblock(), and statlist().
Referenced by ActivateShaderProgram(), forbody(), ifstat(), luaM_realloc_(), input_stream::read_line(), SetShaderBlock(), sha1_hash::sha1_hash(), statement(), and whilestat().
Definition at line 592 of file lparser.cpp.
References LexState::t, TK_ELSE, TK_ELSEIF, TK_END, TK_EOS, TK_UNTIL, and Token::token.
Referenced by labelstat(), retstat(), statlist(), and test_then_block().
Definition at line 787 of file lparser.cpp.
References addprototype(), adjustlocalvars(), check_match(), checknext(), close_func(), codeclosure(), FuncState::f, Proto::lastlinedefined, Proto::linedefined, LexState::linenumber, new_localvarliteral, open_func(), parlist(), statlist(), TK_END, and TK_FUNCTION.
Referenced by funcstat(), localfunc(), persist_context::name_space::parse(), and simpleexp().
Definition at line 452 of file lparser.cpp.
References Labellist::arr, LexState::dyd, findgotos(), LexState::fs, LexState::L, Dyndata::label, luaS_new(), newlabelentry(), and FuncState::pc.
Referenced by leaveblock().
Definition at line 109 of file lparser.cpp.
References error_expected(), LexState::t, and Token::token.
Referenced by wb::side_actions::bump_earlier(), checknext(), mainfunc(), and str_checkname().
|
static |
Definition at line 1107 of file lparser.cpp.
References FuncState::freereg, LexState::fs, expdesc::ind, expdesc::info, expdesc::k, luaK_codeABC(), luaK_reserveregs(), OP_GETUPVAL, OP_MOVE, LHS_assign::prev, expdesc::u, LHS_assign::v, VINDEXED, and VLOCAL.
Referenced by assignment().
Definition at line 125 of file lparser.cpp.
References error_expected(), LexState::L, LexState::linenumber, luaO_pushfstring(), luaX_syntaxerror(), luaX_token2str(), and testnext().
Referenced by body(), constructor(), forstat(), funcargs(), ifstat(), primaryexp(), repeatstat(), statement(), and whilestat().
Definition at line 95 of file lparser.cpp.
References errorlimit().
Referenced by assignment(), enterlevel(), listfield(), new_localvar(), newupvalue(), and recfield().
Definition at line 159 of file lparser.cpp.
References codestring(), and str_checkname().
Referenced by fieldsel(), recfield(), and suffixedexp().
Definition at line 115 of file lparser.cpp.
References check(), and luaX_next().
Referenced by assignment(), body(), constructor(), forbody(), forlist(), fornum(), labelstat(), recfield(), test_then_block(), whilestat(), and yindex().
Definition at line 1194 of file lparser.cpp.
References Labellist::arr, FuncState::bl, BlockCnt::firstlabel, getstr, i, LexState::L, Labeldesc::line, FuncState::ls, LUA_QS, luaO_pushfstring(), luaS_eqstr(), game_logic::msg(), Labeldesc::name, and semerror().
Referenced by labelstat().
Definition at line 554 of file lparser.cpp.
References anchor_token(), FuncState::bl, Proto::code, FuncState::f, LexState::fs, Proto::k, LexState::L, leaveblock(), Proto::lineinfo, Proto::locvars, lua_assert, luaC_checkGC, luaK_ret(), luaM_reallocvector, FuncState::nk, FuncState::nlocvars, FuncState::np, FuncState::nups, Proto::p, FuncState::pc, FuncState::prev, Proto::sizecode, Proto::sizek, Proto::sizelineinfo, Proto::sizelocvars, Proto::sizep, Proto::sizeupvalues, lua_State::top, and Proto::upvalues.
Referenced by body(), and mainfunc().
Definition at line 339 of file lparser.cpp.
References Labellist::arr, LexState::dyd, LexState::fs, g, getlocvar(), getstr, Dyndata::gt, i, LexState::L, Labeldesc::line, lua_assert, LUA_QS, luaK_patchlist(), luaO_pushfstring(), luaS_eqstr(), game_logic::msg(), Labellist::n, Labeldesc::nactvar, Labeldesc::name, Labeldesc::pc, semerror(), and LocVar::varname.
Referenced by findgotos(), and findlabel().
|
static |
Definition at line 672 of file lparser.cpp.
References expdesc::info, expdesc::k, LFIELDS_PER_FLUSH, luaK_exp2nextreg(), luaK_setlist(), ConsControl::na, ConsControl::t, ConsControl::tostore, expdesc::u, ConsControl::v, and VVOID.
Referenced by constructor().
Definition at line 519 of file lparser.cpp.
References LexState::fs, init_exp(), luaK_codeABx(), luaK_exp2nextreg(), FuncState::np, OP_CLOSURE, FuncState::prev, and VRELOCABLE.
Referenced by body().
Definition at line 154 of file lparser.cpp.
References LexState::fs, init_exp(), luaK_stringK(), and VK.
Referenced by checkname(), funcargs(), simpleexp(), and singlevar().
Definition at line 1168 of file lparser.cpp.
References expr(), expdesc::f, LexState::fs, expdesc::k, luaK_goiftrue(), VFALSE, and VNIL.
Referenced by basic_unit_filter_impl::basic_unit_filter_impl(), terrain_filter::get_locations(), intf_eval_conditional(), side_filter::match(), terrain_filter::match(), repeatstat(), and whilestat().
Definition at line 729 of file lparser.cpp.
References check_match(), checknext(), closelistfield(), Proto::code, FuncState::f, field(), LexState::fs, init_exp(), expdesc::k, lastlistfield(), LexState::linenumber, lua_assert, luaK_codeABC(), luaK_exp2nextreg(), luaO_int2fb(), ConsControl::na, ConsControl::nh, OP_NEWTABLE, SETARG_B, SETARG_C, LexState::t, ConsControl::t, testnext(), Token::token, ConsControl::tostore, ConsControl::v, VRELOCABLE, and VVOID.
Referenced by funcargs(), and simpleexp().
Definition at line 437 of file lparser.cpp.
References FuncState::bl, LexState::dyd, BlockCnt::firstgoto, BlockCnt::firstlabel, FuncState::freereg, Dyndata::gt, BlockCnt::isloop, Dyndata::label, FuncState::ls, lua_assert, Labellist::n, BlockCnt::nactvar, FuncState::nactvar, BlockCnt::previous, and BlockCnt::upval.
Referenced by block(), forbody(), forstat(), open_func(), repeatstat(), test_then_block(), and whilestat().
Definition at line 329 of file lparser.cpp.
References checklimit(), LexState::fs, LexState::L, LUAI_MAXCCALLS, and lua_State::nCcalls.
Referenced by statement(), and subexpr().
Definition at line 76 of file lparser.cpp.
References LexState::L, luaO_pushfstring(), luaX_syntaxerror(), and luaX_token2str().
Referenced by check(), and check_match().
Definition at line 82 of file lparser.cpp.
References FuncState::f, LexState::L, Proto::linedefined, FuncState::ls, luaO_pushfstring(), luaX_syntaxerror(), and game_logic::msg().
Referenced by checklimit().
Definition at line 1271 of file lparser.cpp.
References e, expr(), LexState::fs, expdesc::info, expdesc::k, lua_assert, luaK_exp2nextreg(), expdesc::u, and VNONRELOC.
Referenced by fornum(), and lua_strx2number().
Definition at line 809 of file lparser.cpp.
References expr(), LexState::fs, luaK_exp2nextreg(), and testnext().
Referenced by assignment(), forlist(), funcargs(), localstat(), and retstat().
Definition at line 1066 of file lparser.cpp.
References subexpr().
Referenced by cond(), exp1(), explist(), listfield(), primaryexp(), recfield(), test_then_block(), and yindex().
Definition at line 1479 of file lparser.cpp.
References assignment(), check_condition, LexState::fs, getcode, expdesc::k, LHS_assign::prev, SETARG_C, suffixedexp(), LexState::t, Token::token, LHS_assign::v, and VCALL.
Referenced by statement().
|
static |
Definition at line 707 of file lparser.cpp.
References listfield(), luaX_lookahead(), recfield(), LexState::t, TK_NAME, and Token::token.
Referenced by constructor(), default_map_generator_job::default_generate_map(), gui2::tdialog::finalize_fields(), gui2::tdialog::init_fields(), gui2::tdialog::register_bool(), gui2::tdialog::register_integer(), gui2::tdialog::register_label(), gui2::tdialog::register_text(), gui2::taddon_filter_options::toggle_all_displayed_types_button_callback(), and gui2::tdialog::~tdialog().
Definition at line 615 of file lparser.cpp.
References checkname(), LexState::fs, luaK_exp2anyregup(), luaK_indexed(), and luaX_next().
Referenced by funcname(), and suffixedexp().
Definition at line 401 of file lparser.cpp.
References Labellist::arr, FuncState::bl, closegoto(), LexState::dyd, BlockCnt::firstgoto, LexState::fs, Dyndata::gt, i, luaS_eqstr(), and Labeldesc::name.
Referenced by breaklabel(), and labelstat().
Definition at line 363 of file lparser.cpp.
References Labellist::arr, FuncState::bl, closegoto(), LexState::dyd, BlockCnt::firstlabel, LexState::fs, g, Dyndata::gt, i, Dyndata::label, luaK_patchclose(), luaS_eqstr(), Labellist::n, Labeldesc::nactvar, Labeldesc::name, Labeldesc::pc, and BlockCnt::upval.
Referenced by gotostat(), and movegotosout().
Definition at line 1282 of file lparser.cpp.
References adjustlocalvars(), block(), checknext(), enterblock(), LexState::fs, leaveblock(), luaK_codeABC(), luaK_codeAsBx, luaK_fixline(), luaK_jump(), luaK_patchlist(), luaK_patchtohere(), luaK_reserveregs(), NO_JUMP, OP_FORLOOP, OP_FORPREP, OP_TFORCALL, OP_TFORLOOP, and TK_DO.
Definition at line 1330 of file lparser.cpp.
References adjust_assign(), checknext(), e, explist(), forbody(), FuncState::freereg, LexState::fs, LexState::linenumber, luaK_checkstack(), new_localvar(), new_localvarliteral, str_checkname(), testnext(), and TK_IN.
Referenced by forstat().
Definition at line 1308 of file lparser.cpp.
References checknext(), exp1(), forbody(), FuncState::freereg, LexState::fs, luaK_codek(), luaK_numberK(), luaK_reserveregs(), new_localvar(), new_localvarliteral, and testnext().
Referenced by forstat().
Definition at line 1355 of file lparser.cpp.
References check_match(), enterblock(), forlist(), fornum(), LexState::fs, leaveblock(), LUA_QL, luaX_next(), luaX_syntaxerror(), str_checkname(), LexState::t, TK_END, TK_FOR, TK_IN, and Token::token.
Referenced by statement().
Definition at line 822 of file lparser.cpp.
References check_match(), codestring(), constructor(), explist(), FuncState::freereg, LexState::fs, hasmultret, expdesc::info, init_exp(), expdesc::k, lua_assert, LUA_MULTRET, luaK_codeABC(), luaK_exp2nextreg(), luaK_fixline(), luaK_setmultret, luaX_next(), luaX_syntaxerror(), OP_CALL, Token::seminfo, LexState::t, TK_STRING, Token::token, SemInfo::ts, expdesc::u, VCALL, VNONRELOC, and VVOID.
Referenced by suffixedexp().
Definition at line 1453 of file lparser.cpp.
References fieldsel(), singlevar(), LexState::t, and Token::token.
Referenced by funcstat(), and loadfunc().
Definition at line 1467 of file lparser.cpp.
References body(), LexState::fs, funcname(), luaK_fixline(), luaK_storevar(), and luaX_next().
Referenced by statement().
Definition at line 197 of file lparser.cpp.
References Dyndata::actvar, Dyndata::arr, LexState::dyd, FuncState::f, FuncState::firstlocal, i, Vardesc::idx, Proto::locvars, FuncState::ls, and lua_assert.
Referenced by adjustlocalvars(), closegoto(), localfunc(), removevars(), and searchvar().
Definition at line 986 of file lparser.cpp.
References OPR_LEN, OPR_MINUS, OPR_NOT, OPR_NOUNOPR, and TK_NOT.
Referenced by subexpr().
Definition at line 1178 of file lparser.cpp.
References LexState::dyd, findlabel(), g, Dyndata::gt, LexState::L, LexState::linenumber, luaS_new(), luaX_next(), newlabelentry(), str_checkname(), testnext(), and TK_GOTO.
Referenced by statement(), and test_then_block().
Definition at line 1408 of file lparser.cpp.
References block(), check_match(), LexState::fs, luaK_patchtohere(), NO_JUMP, LexState::t, test_then_block(), testnext(), TK_ELSE, TK_ELSEIF, TK_END, TK_IF, and Token::token.
Referenced by statement().
Definition at line 147 of file lparser.cpp.
References expdesc::f, i, expdesc::info, expdesc::k, NO_JUMP, expdesc::t, and expdesc::u.
Referenced by assignment(), codeclosure(), codestring(), constructor(), funcargs(), mainfunc(), simpleexp(), and singlevaraux().
Definition at line 1214 of file lparser.cpp.
References Labellist::arr, FuncState::bl, block_follow(), checknext(), checkrepeated(), LexState::dyd, findgotos(), LexState::fs, Dyndata::label, BlockCnt::nactvar, Labeldesc::nactvar, newlabelentry(), FuncState::pc, skipnoopstat(), and TK_DBCOLON.
Referenced by statement().
|
static |
Definition at line 683 of file lparser.cpp.
References hasmultret, expdesc::info, expdesc::k, LUA_MULTRET, luaK_exp2nextreg(), luaK_setlist(), luaK_setmultret, ConsControl::na, ConsControl::t, ConsControl::tostore, expdesc::u, ConsControl::v, and VVOID.
Referenced by constructor().
Definition at line 471 of file lparser.cpp.
References Labellist::arr, FuncState::bl, breaklabel(), LexState::dyd, BlockCnt::firstgoto, BlockCnt::firstlabel, FuncState::freereg, Dyndata::gt, BlockCnt::isloop, Dyndata::label, FuncState::ls, lua_assert, luaK_jump(), luaK_patchclose(), luaK_patchtohere(), movegotosout(), Labellist::n, BlockCnt::nactvar, FuncState::nactvar, BlockCnt::previous, removevars(), undefgoto(), and BlockCnt::upval.
Referenced by block(), close_func(), forbody(), forstat(), repeatstat(), test_then_block(), and whilestat().
|
static |
Definition at line 698 of file lparser.cpp.
References checklimit(), expr(), LexState::fs, MAX_INT, ConsControl::na, ConsControl::tostore, and ConsControl::v.
Referenced by field().
Definition at line 1422 of file lparser.cpp.
References adjustlocalvars(), body(), LexState::fs, getlocvar(), expdesc::info, LexState::linenumber, new_localvar(), FuncState::pc, LocVar::startpc, str_checkname(), and expdesc::u.
Referenced by statement().
Definition at line 1433 of file lparser.cpp.
References adjust_assign(), adjustlocalvars(), e, explist(), expdesc::k, new_localvar(), str_checkname(), testnext(), and VVOID.
Referenced by statement().
Closure* luaY_parser | ( | lua_State * | L, |
ZIO * | z, | ||
Mbuffer * | buff, | ||
Dyndata * | dyd, | ||
const char * | name, | ||
int | firstchar | ||
) |
Definition at line 1617 of file lparser.cpp.
References Dyndata::actvar, LexState::buff, LexState::dyd, FuncState::f, LexState::fs, Dyndata::gt, incr_top, Closure::l, Dyndata::label, lua_assert, luaF_newLclosure(), luaF_newproto(), luaS_new(), luaX_setinput(), mainfunc(), Labellist::n, Dyndata::n, FuncState::nups, LClosure::p, FuncState::prev, setclLvalue, Proto::source, and lua_State::top.
Referenced by f_parser().
Definition at line 1603 of file lparser.cpp.
References check(), close_func(), LexState::envn, FuncState::f, init_exp(), Proto::is_vararg, luaX_next(), newupvalue(), open_func(), statlist(), TK_EOS, and VLOCAL.
Referenced by luaY_parser().
Definition at line 259 of file lparser.cpp.
References FuncState::bl, BlockCnt::nactvar, BlockCnt::previous, and BlockCnt::upval.
Referenced by singlevaraux().
Definition at line 419 of file lparser.cpp.
References Labellist::arr, LexState::dyd, findlabel(), BlockCnt::firstgoto, Dyndata::gt, i, FuncState::ls, luaK_patchclose(), BlockCnt::nactvar, Labeldesc::nactvar, Labeldesc::pc, and BlockCnt::upval.
Referenced by leaveblock().
Definition at line 177 of file lparser.cpp.
References Dyndata::actvar, Dyndata::arr, cast, checklimit(), LexState::dyd, FuncState::firstlocal, LexState::fs, Vardesc::idx, LexState::L, luaM_growvector, MAX_INT, MAXVARS, Dyndata::n, registerlocalvar(), and Dyndata::size.
Referenced by forlist(), fornum(), localfunc(), localstat(), new_localvarliteral_(), and parlist().
Definition at line 189 of file lparser.cpp.
References luaX_newstring(), and new_localvar().
Definition at line 383 of file lparser.cpp.
References Labellist::arr, LexState::fs, LexState::L, Labeldesc::line, luaM_growvector, Labellist::n, Labeldesc::nactvar, FuncState::nactvar, Labeldesc::name, Labeldesc::pc, and Labellist::size.
Referenced by breaklabel(), gotostat(), and labelstat().
Definition at line 230 of file lparser.cpp.
References cast_byte, checklimit(), FuncState::f, Upvaldesc::idx, expdesc::info, Upvaldesc::instack, expdesc::k, LexState::L, FuncState::ls, luaC_objbarrier, luaM_growvector, MAXUPVAL, Upvaldesc::name, FuncState::nups, Proto::sizeupvalues, expdesc::u, Proto::upvalues, and VLOCAL.
Referenced by mainfunc(), and singlevaraux().
Definition at line 526 of file lparser.cpp.
References Dyndata::actvar, FuncState::bl, LexState::dyd, enterblock(), FuncState::f, FuncState::firstlocal, FuncState::freereg, LexState::fs, FuncState::h, incr_top, FuncState::jpc, LexState::L, FuncState::lasttarget, FuncState::ls, luaH_new(), Proto::maxstacksize, Dyndata::n, FuncState::nactvar, FuncState::nk, FuncState::nlocvars, NO_JUMP, FuncState::np, FuncState::nups, FuncState::pc, FuncState::prev, sethvalue2s, LexState::source, Proto::source, and lua_State::top.
Referenced by body(), and mainfunc().
Definition at line 758 of file lparser.cpp.
References adjustlocalvars(), cast_byte, FuncState::f, LexState::fs, Proto::is_vararg, LUA_QL, luaK_reserveregs(), luaX_next(), luaX_syntaxerror(), FuncState::nactvar, new_localvar(), Proto::numparams, str_checkname(), LexState::t, testnext(), TK_DOTS, TK_NAME, and Token::token.
Referenced by body().
Definition at line 876 of file lparser.cpp.
References check_match(), expr(), LexState::fs, LexState::linenumber, luaK_dischargevars(), luaX_next(), luaX_syntaxerror(), singlevar(), LexState::t, TK_NAME, and Token::token.
Referenced by suffixedexp().
|
static |
Definition at line 651 of file lparser.cpp.
References checklimit(), checkname(), checknext(), expr(), FuncState::freereg, LexState::fs, expdesc::info, luaK_codeABC(), luaK_exp2RK(), MAX_INT, ConsControl::nh, OP_SETTABLE, LexState::t, ConsControl::t, TK_NAME, Token::token, expdesc::u, and yindex().
Referenced by field().
Definition at line 164 of file lparser.cpp.
References FuncState::f, LexState::fs, LexState::L, Proto::locvars, luaC_objbarrier, luaM_growvector, FuncState::nlocvars, Proto::sizelocvars, and LocVar::varname.
Referenced by new_localvar().
Definition at line 213 of file lparser.cpp.
References Dyndata::actvar, LexState::dyd, LocVar::endpc, getlocvar(), FuncState::ls, Dyndata::n, FuncState::nactvar, and FuncState::pc.
Referenced by leaveblock().
Definition at line 1251 of file lparser.cpp.
References check_match(), cond(), enterblock(), LexState::fs, leaveblock(), luaK_getlabel(), luaK_patchclose(), luaK_patchlist(), luaX_next(), BlockCnt::nactvar, statlist(), TK_REPEAT, TK_UNTIL, and BlockCnt::upval.
Referenced by statement().
Definition at line 1495 of file lparser.cpp.
References block_follow(), e, explist(), FuncState::freereg, LexState::fs, GETARG_A, getcode, hasmultret, expdesc::k, lua_assert, LUA_MULTRET, luaK_exp2anyreg(), luaK_exp2nextreg(), luaK_ret(), luaK_setmultret, FuncState::nactvar, OP_TAILCALL, SET_OPCODE, LexState::t, testnext(), Token::token, and VCALL.
Referenced by statement().
Definition at line 220 of file lparser.cpp.
References FuncState::f, i, luaS_eqstr(), FuncState::nups, and Proto::upvalues.
Referenced by singlevaraux().
Definition at line 245 of file lparser.cpp.
References cast_int, getlocvar(), i, luaS_eqstr(), and FuncState::nactvar.
Referenced by singlevaraux().
Definition at line 70 of file lparser.cpp.
References luaX_syntaxerror(), LexState::t, and Token::token.
Referenced by checkrepeated(), closegoto(), and undefgoto().
Definition at line 936 of file lparser.cpp.
References body(), check_condition, codestring(), constructor(), FuncState::f, LexState::fs, init_exp(), Proto::is_vararg, LexState::linenumber, LUA_QL, luaK_codeABC(), luaX_next(), expdesc::nval, OP_VARARG, SemInfo::r, Token::seminfo, suffixedexp(), LexState::t, TK_DOTS, TK_FALSE, TK_FUNCTION, TK_NIL, TK_NUMBER, TK_STRING, TK_TRUE, Token::token, SemInfo::ts, expdesc::u, VFALSE, VKNUM, VNIL, VTRUE, and VVARARG.
Referenced by subexpr().
Definition at line 296 of file lparser.cpp.
References codestring(), LexState::envn, LexState::fs, expdesc::k, lua_assert, luaK_indexed(), singlevaraux(), str_checkname(), VLOCAL, VUPVAL, and VVOID.
Referenced by funcname(), and primaryexp().
Definition at line 270 of file lparser.cpp.
References init_exp(), markupval(), newupvalue(), FuncState::prev, searchupvalue(), searchvar(), VLOCAL, VUPVAL, and VVOID.
Referenced by singlevar().
Definition at line 1208 of file lparser.cpp.
References statement(), LexState::t, TK_DBCOLON, and Token::token.
Referenced by labelstat(), and test_then_block().
Definition at line 1528 of file lparser.cpp.
References block(), check_match(), enterlevel(), exprstat(), FuncState::f, forstat(), FuncState::freereg, LexState::fs, funcstat(), gotostat(), ifstat(), labelstat(), leavelevel, LexState::linenumber, localfunc(), localstat(), lua_assert, luaK_jump(), luaX_next(), Proto::maxstacksize, FuncState::nactvar, repeatstat(), retstat(), str_checkname(), LexState::t, testnext(), TK_BREAK, TK_DBCOLON, TK_DO, TK_END, TK_FOR, TK_FUNCTION, TK_GOTO, TK_IF, TK_LOCAL, TK_REPEAT, TK_RETURN, TK_WHILE, Token::token, and whilestat().
Referenced by skipnoopstat(), and statlist().
Definition at line 603 of file lparser.cpp.
References block_follow(), statement(), LexState::t, TK_RETURN, and Token::token.
Referenced by block(), body(), mainfunc(), repeatstat(), and test_then_block().
Definition at line 138 of file lparser.cpp.
References check(), luaX_next(), Token::seminfo, LexState::t, TK_NAME, and SemInfo::ts.
Referenced by checkname(), forlist(), forstat(), gotostat(), localfunc(), localstat(), parlist(), singlevar(), and statement().
Definition at line 1036 of file lparser.cpp.
References enterlevel(), LexState::fs, getbinopr(), getunopr(), leavelevel, LexState::linenumber, luaK_infix(), luaK_posfix(), luaK_prefix(), luaX_next(), OPR_NOBINOPR, OPR_NOUNOPR, priority, right, simpleexp(), LexState::t, Token::token, and UNARY_PRIORITY.
Referenced by expr().
Definition at line 898 of file lparser.cpp.
References checkname(), fieldsel(), LexState::fs, funcargs(), LexState::linenumber, luaK_exp2anyregup(), luaK_exp2nextreg(), luaK_indexed(), luaK_self(), luaX_next(), primaryexp(), LexState::t, TK_STRING, Token::token, and yindex().
Referenced by assignment(), exprstat(), and simpleexp().
Definition at line 1373 of file lparser.cpp.
References block_follow(), checknext(), enterblock(), expr(), expdesc::f, LexState::fs, gotostat(), leaveblock(), luaK_concat(), luaK_goiffalse(), luaK_goiftrue(), luaK_jump(), luaK_patchtohere(), luaX_next(), skipnoopstat(), statlist(), expdesc::t, LexState::t, TK_BREAK, TK_ELSE, TK_ELSEIF, TK_GOTO, TK_THEN, and Token::token.
Referenced by ifstat().
Definition at line 100 of file lparser.cpp.
References luaX_next(), LexState::t, and Token::token.
Referenced by assignment(), check_match(), constructor(), explist(), forlist(), fornum(), gotostat(), ifstat(), localstat(), parlist(), retstat(), and statement().
Definition at line 462 of file lparser.cpp.
References getstr, isreserved, LexState::L, Labeldesc::line, LUA_QS, luaO_pushfstring(), game_logic::msg(), Labeldesc::name, and semerror().
Referenced by leaveblock().
Definition at line 1232 of file lparser.cpp.
References block(), check_match(), checknext(), cond(), enterblock(), LexState::fs, leaveblock(), luaK_getlabel(), luaK_jumpto, luaK_patchtohere(), luaX_next(), TK_DO, TK_END, and TK_WHILE.
Referenced by statement().
Definition at line 626 of file lparser.cpp.
References checknext(), expr(), LexState::fs, luaK_exp2val(), and luaX_next().
Referenced by recfield(), and suffixedexp().
Definition at line 1019 of file lparser.cpp.
const { ... } priority[] |
Referenced by ai::stage_unit_formulas::do_play_stage(), and subexpr().
lu_byte right |
Definition at line 1020 of file lparser.cpp.
Referenced by gui::textbox::draw_contents(), sdl::draw_rectangle(), filesystem::get_next_filename(), impl_unit_equality(), mp::connect::layout_children(), utils::parenthetical_split(), utils::square_parenthetical_split(), subexpr(), gui2::implementation::tbuilder_matrix::tbuilder_matrix(), gui2::teditor_resize_map::update_expand_direction(), and ttracer::tprint::~tprint().