/* ** $Id: ldebug.h,v 1.12 2001/06/05 18:17:01 roberto Exp roberto $ ** Auxiliary functions from Debug Interface module ** See Copyright Notice in lua.h */ #ifndef ldebug_h #define ldebug_h #include "lstate.h" #include "luadebug.h" enum OpMode {iABC, iABc, iAsBc}; /* basic instruction format */ /* ** masks for instruction properties */ enum OpModeMask { OpModeAreg = 2, /* A is a register */ OpModeBreg, /* B is a register */ OpModeCreg, /* C is a register/constant */ OpModesetA, /* instruction set register A */ OpModeK, /* Bc is a constant */ OpModeT /* operator is a test */ }; extern const lu_byte luaG_opmodes[]; #define getOpMode(m) ((enum OpMode)(luaG_opmodes[m] & 3)) #define testOpMode(m, b) (luaG_opmodes[m] & (1 << (b))) void luaG_typeerror (lua_State *L, StkId o, const l_char *op); void luaG_concaterror (lua_State *L, StkId p1, StkId p2); void luaG_aritherror (lua_State *L, StkId p1, TObject *p2); int luaG_getline (int *lineinfo, int pc, int refline, int *refi); void luaG_ordererror (lua_State *L, const TObject *p1, const TObject *p2); int luaG_checkcode (const Proto *pt); #endif