diff options
| author | Lua Team <team@lua.org> | 1998-07-11 12:00:00 +0000 |
|---|---|---|
| committer | repogen <> | 1998-07-11 12:00:00 +0000 |
| commit | 377347776f1f3d820f92151f70bec667f96d5e6b (patch) | |
| tree | cdb3ba26158df33547dfe765547177afcee119d1 /src/ldo.h | |
| parent | 4f8c5d0f284e1f4da717aea5008915f185cd2e05 (diff) | |
| download | lua-github-3.1.tar.gz | |
Lua 3.13.1
Diffstat (limited to 'src/ldo.h')
| -rw-r--r-- | src/ldo.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/ldo.h b/src/ldo.h new file mode 100644 index 00000000..0e981fbc --- /dev/null +++ b/src/ldo.h @@ -0,0 +1,46 @@ +/* +** $Id: ldo.h,v 1.4 1997/12/15 16:17:20 roberto Exp $ +** Stack and Call structure of Lua +** See Copyright Notice in lua.h +*/ + +#ifndef ldo_h +#define ldo_h + + +#include "lobject.h" +#include "lstate.h" + + +#define MULT_RET 255 + + + +/* +** macro to increment stack top. +** There must be always an empty slot at the L->stack.top +*/ +#define incr_top { if (L->stack.top >= L->stack.last) luaD_checkstack(1); \ + L->stack.top++; } + + +/* macros to convert from lua_Object to (TObject *) and back */ + +#define Address(lo) ((lo)+L->stack.stack-1) +#define Ref(st) ((st)-L->stack.stack+1) + + +void luaD_init (void); +void luaD_adjusttop (StkId newtop); +void luaD_openstack (int nelems); +void luaD_lineHook (int line); +void luaD_callHook (StkId base, TProtoFunc *tf, int isreturn); +void luaD_call (StkId base, int nResults); +void luaD_callTM (TObject *f, int nParams, int nResults); +int luaD_protectedrun (int nResults); +void luaD_gcIM (TObject *o); +void luaD_travstack (int (*fn)(TObject *)); +void luaD_checkstack (int n); + + +#endif |
