first implementation of unrestricted static scoping

This commit is contained in:
Roberto Ierusalimschy
2001-09-07 14:39:10 -03:00
parent 4d0935ec0f
commit abdbe883a8
18 changed files with 412 additions and 187 deletions

11
lfunc.h
View File

@@ -1,5 +1,5 @@
/*
** $Id: lfunc.h,v 1.14 2000/12/28 12:55:41 roberto Exp roberto $
** $Id: lfunc.h,v 1.15 2001/02/23 17:17:25 roberto Exp $
** Auxiliary functions to manipulate prototypes and closures
** See Copyright Notice in lua.h
*/
@@ -11,9 +11,16 @@
#include "lobject.h"
#define luaF_isclosed(c, i) (!((c)->u.l.isopen & (1 << (i))))
#define luaF_openentry(c, i) ((c)->u.l.isopen |= (1 << (i)))
#define luaF_closeentry(c, i) ((c)->u.l.isopen &= ~(1 << (i)))
Proto *luaF_newproto (lua_State *L);
Closure *luaF_newclosure (lua_State *L, int nelems);
Closure *luaF_newCclosure (lua_State *L, int nelems);
Closure *luaF_newLclosure (lua_State *L, int nelems);
void luaF_LConlist (lua_State *L, Closure *cl);
void luaF_close (lua_State *L, StkId level);
void luaF_freeproto (lua_State *L, Proto *f);
void luaF_freeclosure (lua_State *L, Closure *c);