lua/lcode.h File Reference

#include "llex.h"
#include "lobject.h"
#include "lopcodes.h"
#include "lparser.h"

Go to the source code of this file.

Defines

#define NO_JUMP   (-1)
#define binopistest(op)   ((op) >= OPR_NE)
#define getcode(fs, e)   ((fs)->f->code[(e)->info])
#define luaK_codeAsBx(fs, o, A, sBx)   luaK_codeABx(fs,o,A,(sBx)+MAXARG_sBx)

Enumerations

enum  BinOpr {
  OPR_ADD, OPR_SUB, OPR_MULT, OPR_DIV,
  OPR_POW, OPR_CONCAT, OPR_NE, OPR_EQ,
  OPR_LT, OPR_LE, OPR_GT, OPR_GE,
  OPR_AND, OPR_OR, OPR_NOBINOPR
}
enum  UnOpr { OPR_MINUS, OPR_NOT, OPR_NOUNOPR }

Functions

int luaK_code (FuncState *fs, Instruction i, int line)
int luaK_codeABx (FuncState *fs, OpCode o, int A, unsigned int Bx)
int luaK_codeABC (FuncState *fs, OpCode o, int A, int B, int C)
void luaK_fixline (FuncState *fs, int line)
void luaK_nil (FuncState *fs, int from, int n)
void luaK_reserveregs (FuncState *fs, int n)
void luaK_checkstack (FuncState *fs, int n)
int luaK_stringK (FuncState *fs, TString *s)
int luaK_numberK (FuncState *fs, lua_Number r)
void luaK_dischargevars (FuncState *fs, expdesc *e)
int luaK_exp2anyreg (FuncState *fs, expdesc *e)
void luaK_exp2nextreg (FuncState *fs, expdesc *e)
void luaK_exp2val (FuncState *fs, expdesc *e)
int luaK_exp2RK (FuncState *fs, expdesc *e)
void luaK_self (FuncState *fs, expdesc *e, expdesc *key)
void luaK_indexed (FuncState *fs, expdesc *t, expdesc *k)
void luaK_goiftrue (FuncState *fs, expdesc *e)
void luaK_goiffalse (FuncState *fs, expdesc *e)
void luaK_storevar (FuncState *fs, expdesc *var, expdesc *e)
void luaK_setcallreturns (FuncState *fs, expdesc *var, int nresults)
int luaK_jump (FuncState *fs)
void luaK_patchlist (FuncState *fs, int list, int target)
void luaK_patchtohere (FuncState *fs, int list)
void luaK_concat (FuncState *fs, int *l1, int l2)
int luaK_getlabel (FuncState *fs)
void luaK_prefix (FuncState *fs, UnOpr op, expdesc *v)
void luaK_infix (FuncState *fs, BinOpr op, expdesc *v)
void luaK_posfix (FuncState *fs, BinOpr op, expdesc *v1, expdesc *v2)


Define Documentation

#define binopistest ( op   )     ((op) >= OPR_NE)

Definition at line 35 of file lcode.h.

#define getcode ( fs,
 )     ((fs)->f->code[(e)->info])

Definition at line 40 of file lcode.h.

Referenced by discharge2reg(), jumponcond(), luaK_posfix(), luaK_setcallreturns(), and retstat().

#define luaK_codeAsBx ( fs,
o,
A,
sBx   )     luaK_codeABx(fs,o,A,(sBx)+MAXARG_sBx)

Definition at line 42 of file lcode.h.

Referenced by forbody(), forlist(), and luaK_jump().

#define NO_JUMP   (-1)


Enumeration Type Documentation

enum BinOpr

Enumerator:
OPR_ADD 
OPR_SUB 
OPR_MULT 
OPR_DIV 
OPR_POW 
OPR_CONCAT 
OPR_NE 
OPR_EQ 
OPR_LT 
OPR_LE 
OPR_GT 
OPR_GE 
OPR_AND 
OPR_OR 
OPR_NOBINOPR 

Definition at line 26 of file lcode.h.

enum UnOpr

Enumerator:
OPR_MINUS 
OPR_NOT 
OPR_NOUNOPR 

Definition at line 37 of file lcode.h.


Function Documentation

void luaK_checkstack ( FuncState fs,
int  n 
)

int luaK_code ( FuncState fs,
Instruction  i,
int  line 
)

int luaK_codeABC ( FuncState fs,
OpCode  o,
int  A,
int  B,
int  C 
)

int luaK_codeABx ( FuncState fs,
OpCode  o,
int  A,
unsigned int  Bx 
)

void luaK_concat ( FuncState fs,
int *  l1,
int  l2 
)

void luaK_dischargevars ( FuncState fs,
expdesc e 
)

int luaK_exp2anyreg ( FuncState fs,
expdesc e 
)

void luaK_exp2nextreg ( FuncState fs,
expdesc e 
)

int luaK_exp2RK ( FuncState fs,
expdesc e 
)

void luaK_exp2val ( FuncState fs,
expdesc e 
)

Definition at line 420 of file lcode.c.

References hasjumps, luaK_dischargevars(), and luaK_exp2anyreg().

Referenced by luaK_exp2RK(), luaK_posfix(), luaK_prefix(), and luaY_index().

void luaK_fixline ( FuncState fs,
int  line 
)

Definition at line 724 of file lcode.c.

References FuncState::f, Proto::lineinfo, and FuncState::pc.

Referenced by forbody(), funcargs(), and funcstat().

int luaK_getlabel ( FuncState fs  ) 

Definition at line 78 of file lcode.c.

References FuncState::lasttarget, and FuncState::pc.

Referenced by code_label(), forbody(), luaK_exp2reg(), luaK_patchtohere(), repeatstat(), and whilestat().

void luaK_goiffalse ( FuncState fs,
expdesc e 
)

void luaK_goiftrue ( FuncState fs,
expdesc e 
)

void luaK_indexed ( FuncState fs,
expdesc t,
expdesc k 
)

Definition at line 608 of file lcode.c.

References expdesc::aux, expdesc::k, luaK_exp2RK(), and VINDEXED.

Referenced by luaY_field(), and primaryexp().

void luaK_infix ( FuncState fs,
BinOpr  op,
expdesc v 
)

int luaK_jump ( FuncState fs  ) 

void luaK_nil ( FuncState fs,
int  from,
int  n 
)

int luaK_numberK ( FuncState fs,
lua_Number  r 
)

Definition at line 255 of file lcode.c.

References addk(), and setnvalue.

Referenced by fornum(), luaK_prefix(), and simpleexp().

void luaK_patchlist ( FuncState fs,
int  list,
int  target 
)

Definition at line 165 of file lcode.c.

References lua_assert, luaK_patchlistaux(), luaK_patchtohere(), NO_REG, and FuncState::pc.

Referenced by forbody(), repeatstat(), and whilestat().

void luaK_patchtohere ( FuncState fs,
int  list 
)

void luaK_posfix ( FuncState fs,
BinOpr  op,
expdesc v1,
expdesc v2 
)

void luaK_prefix ( FuncState fs,
UnOpr  op,
expdesc v 
)

void luaK_reserveregs ( FuncState fs,
int  n 
)

void luaK_self ( FuncState fs,
expdesc e,
expdesc key 
)

void luaK_setcallreturns ( FuncState fs,
expdesc var,
int  nresults 
)

void luaK_storevar ( FuncState fs,
expdesc var,
expdesc e 
)

int luaK_stringK ( FuncState fs,
TString s 
)

Definition at line 248 of file lcode.c.

References addk(), and setsvalue.

Referenced by codestring(), and singlevaraux().


Generated on Fri Dec 12 13:02:11 2008 for rpm by  doxygen 1.5.6