28 OPR_ADD, OPR_SUB, OPR_MUL, OPR_MOD, OPR_POW,
31 OPR_BAND, OPR_BOR, OPR_BXOR,
36 OPR_EQ, OPR_LT, OPR_LE,
37 OPR_NE, OPR_GT, OPR_GE,
45 #define foldbinop(op) ((op) <= OPR_SHR) 48 #define luaK_codeABC(fs,o,a,b,c) luaK_codeABCk(fs,o,a,b,c,0) 51 typedef enum UnOpr { OPR_MINUS, OPR_BNOT, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr;
55 #define getinstruction(fs,e) ((fs)->f->code[(e)->u.info]) 58 #define luaK_setmultret(fs,e) luaK_setreturns(fs, e, LUA_MULTRET) 60 #define luaK_jumpto(fs,t) luaK_patchlist(fs, luaK_jump(fs), t) 62 LUAI_FUNC
int luaK_code (FuncState *fs, Instruction i);
63 LUAI_FUNC
int luaK_codeABx (FuncState *fs, OpCode o,
int A,
unsigned int Bx);
64 LUAI_FUNC
int luaK_codeAsBx (FuncState *fs, OpCode o,
int A,
int Bx);
65 LUAI_FUNC
int luaK_codeABCk (FuncState *fs, OpCode o,
int A,
67 LUAI_FUNC
int luaK_isKint (expdesc *e);
68 LUAI_FUNC
int luaK_exp2const (FuncState *fs,
const expdesc *e, TValue *v);
69 LUAI_FUNC
void luaK_fixline (FuncState *fs,
int line);
70 LUAI_FUNC
void luaK_nil (FuncState *fs,
int from,
int n);
71 LUAI_FUNC
void luaK_reserveregs (FuncState *fs,
int n);
72 LUAI_FUNC
void luaK_checkstack (FuncState *fs,
int n);
73 LUAI_FUNC
void luaK_int (FuncState *fs,
int reg, lua_Integer n);
74 LUAI_FUNC
void luaK_dischargevars (FuncState *fs, expdesc *e);
75 LUAI_FUNC
int luaK_exp2anyreg (FuncState *fs, expdesc *e);
76 LUAI_FUNC
void luaK_exp2anyregup (FuncState *fs, expdesc *e);
77 LUAI_FUNC
void luaK_exp2nextreg (FuncState *fs, expdesc *e);
78 LUAI_FUNC
void luaK_exp2val (FuncState *fs, expdesc *e);
79 LUAI_FUNC
int luaK_exp2RK (FuncState *fs, expdesc *e);
80 LUAI_FUNC
void luaK_self (FuncState *fs, expdesc *e, expdesc *key);
81 LUAI_FUNC
void luaK_indexed (FuncState *fs, expdesc *t, expdesc *k);
82 LUAI_FUNC
void luaK_goiftrue (FuncState *fs, expdesc *e);
83 LUAI_FUNC
void luaK_goiffalse (FuncState *fs, expdesc *e);
84 LUAI_FUNC
void luaK_storevar (FuncState *fs, expdesc *var, expdesc *e);
85 LUAI_FUNC
void luaK_setreturns (FuncState *fs, expdesc *e,
int nresults);
86 LUAI_FUNC
void luaK_setoneret (FuncState *fs, expdesc *e);
87 LUAI_FUNC
int luaK_jump (FuncState *fs);
88 LUAI_FUNC
void luaK_ret (FuncState *fs,
int first,
int nret);
89 LUAI_FUNC
void luaK_patchlist (FuncState *fs,
int list,
int target);
90 LUAI_FUNC
void luaK_patchtohere (FuncState *fs,
int list);
91 LUAI_FUNC
void luaK_concat (FuncState *fs,
int *l1,
int l2);
92 LUAI_FUNC
int luaK_getlabel (FuncState *fs);
93 LUAI_FUNC
void luaK_prefix (FuncState *fs, UnOpr op, expdesc *v,
int line);
94 LUAI_FUNC
void luaK_infix (FuncState *fs, BinOpr op, expdesc *v);
95 LUAI_FUNC
void luaK_posfix (FuncState *fs, BinOpr op, expdesc *v1,
96 expdesc *v2,
int line);
97 LUAI_FUNC
void luaK_settablesize (FuncState *fs,
int pc,
98 int ra,
int asize,
int hsize);
99 LUAI_FUNC
void luaK_setlist (FuncState *fs,
int base,
int nelems,
int tostore);
100 LUAI_FUNC
void luaK_finish (FuncState *fs);
101 LUAI_FUNC l_noret luaK_semerror (LexState *ls,
const char *msg);