aboutsummaryrefslogtreecommitdiff
path: root/lparser.h
diff options
context:
space:
mode:
Diffstat (limited to 'lparser.h')
-rw-r--r--lparser.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/lparser.h b/lparser.h
index adc7f012..01332478 100644
--- a/lparser.h
+++ b/lparser.h
@@ -47,15 +47,21 @@
47*/ 47*/
48 48
49typedef enum { 49typedef enum {
50 VGLOBAL, /* info is constant index of global name */ 50 VGLOBAL,
51 VLOCAL, /* info is stack index */ 51 VLOCAL,
52 VINDEXED, 52 VINDEXED,
53 VEXP /* info is jump target if exp has internal jumps */ 53 VEXP
54} expkind; 54} expkind;
55 55
56typedef struct expdesc { 56typedef struct expdesc {
57 expkind k; 57 expkind k;
58 int info; 58 union {
59 int index; /* VGLOBAL: `kstr' index of global name; VLOCAL: stack index */
60 struct {
61 int t; /* patch list of `exit when true' */
62 int f; /* patch list of `exit when false' */
63 } l;
64 } u;
59} expdesc; 65} expdesc;
60 66
61 67