diff options
Diffstat (limited to 'lparser.h')
-rw-r--r-- | lparser.h | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lparser.h,v 1.56 2005/10/03 14:02:40 roberto Exp roberto $ | 2 | ** $Id: lparser.h,v 1.57 2006/03/09 18:14:31 roberto Exp roberto $ |
3 | ** Lua Parser | 3 | ** Lua Parser |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -23,8 +23,8 @@ typedef enum { | |||
23 | VFALSE, | 23 | VFALSE, |
24 | VK, /* info = index of constant in `k' */ | 24 | VK, /* info = index of constant in `k' */ |
25 | VKNUM, /* nval = numerical value */ | 25 | VKNUM, /* nval = numerical value */ |
26 | VLOCAL, /* info = local register */ | 26 | VLOCAL, /* info = local register; aux = read only */ |
27 | VUPVAL, /* info = index of upvalue in `upvalues' */ | 27 | VUPVAL, /* info = index of upvalue in 'upvalues'; aux = read only */ |
28 | VGLOBAL, /* info = index of table; aux = index of global name in `k' */ | 28 | VGLOBAL, /* info = index of table; aux = index of global name in `k' */ |
29 | VINDEXED, /* info = table register; aux = index register (or `k') */ | 29 | VINDEXED, /* info = table register; aux = index register (or `k') */ |
30 | VJMP, /* info = instruction pc */ | 30 | VJMP, /* info = instruction pc */ |
@@ -34,6 +34,7 @@ typedef enum { | |||
34 | VVARARG /* info = instruction pc */ | 34 | VVARARG /* info = instruction pc */ |
35 | } expkind; | 35 | } expkind; |
36 | 36 | ||
37 | |||
37 | typedef struct expdesc { | 38 | typedef struct expdesc { |
38 | expkind k; | 39 | expkind k; |
39 | union { | 40 | union { |
@@ -51,6 +52,11 @@ typedef struct upvaldesc { | |||
51 | } upvaldesc; | 52 | } upvaldesc; |
52 | 53 | ||
53 | 54 | ||
55 | typedef struct vardesc { | ||
56 | unsigned short idx; | ||
57 | } vardesc; | ||
58 | |||
59 | |||
54 | struct BlockCnt; /* defined in lparser.c */ | 60 | struct BlockCnt; /* defined in lparser.c */ |
55 | 61 | ||
56 | 62 | ||
@@ -71,7 +77,7 @@ typedef struct FuncState { | |||
71 | short nlocvars; /* number of elements in `locvars' */ | 77 | short nlocvars; /* number of elements in `locvars' */ |
72 | lu_byte nactvar; /* number of active local variables */ | 78 | lu_byte nactvar; /* number of active local variables */ |
73 | upvaldesc upvalues[LUAI_MAXUPVALUES]; /* upvalues */ | 79 | upvaldesc upvalues[LUAI_MAXUPVALUES]; /* upvalues */ |
74 | unsigned short actvar[LUAI_MAXVARS]; /* declared-variable stack */ | 80 | vardesc actvar[LUAI_MAXVARS]; /* declared-variable stack */ |
75 | } FuncState; | 81 | } FuncState; |
76 | 82 | ||
77 | 83 | ||