1 | /* |
2 | ** $Id: lvm.h,v 2.5.1.1 2007/12/27 13:02:25 roberto Exp $ |
3 | ** Lua virtual machine |
4 | ** See Copyright Notice in lua.h |
5 | */ |
6 | |
7 | #ifndef lvm_h |
8 | #define lvm_h |
9 | |
10 | |
11 | #include "ldo.h" |
12 | #include "lobject.h" |
13 | #include "ltm.h" |
14 | |
15 | |
16 | #define tostring(L,o) ((ttype(o) == LUA_TSTRING) || (luaV_tostring(L, o))) |
17 | |
18 | #define tonumber(o,n) (ttype(o) == LUA_TNUMBER || \ |
19 | (((o) = luaV_tonumber(o,n)) != NULL)) |
20 | |
21 | #define equalobj(L,o1,o2) \ |
22 | (ttype(o1) == ttype(o2) && luaV_equalval(L, o1, o2)) |
23 | |
24 | |
25 | LUAI_FUNC int luaV_lessthan (lua_State *L, const TValue *l, const TValue *r); |
26 | LUAI_FUNC int luaV_equalval (lua_State *L, const TValue *t1, const TValue *t2); |
27 | LUAI_FUNC const TValue *luaV_tonumber (const TValue *obj, TValue *n); |
28 | LUAI_FUNC int luaV_tostring (lua_State *L, StkId obj); |
29 | LUAI_FUNC void luaV_gettable (lua_State *L, const TValue *t, TValue *key, |
30 | StkId val); |
31 | LUAI_FUNC void luaV_settable (lua_State *L, const TValue *t, TValue *key, |
32 | StkId val); |
33 | LUAI_FUNC void luaV_execute (lua_State *L, int nexeccalls); |
34 | LUAI_FUNC void luaV_concat (lua_State *L, int total, int last); |
35 | |
36 | #endif |
37 | |