diff options
Diffstat (limited to 'lptree.h')
-rw-r--r-- | lptree.h | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -44,10 +44,13 @@ typedef struct TTree { | |||
44 | byte tag; | 44 | byte tag; |
45 | byte cap; /* kind of capture (if it is a capture) */ | 45 | byte cap; /* kind of capture (if it is a capture) */ |
46 | unsigned short key; /* key in ktable for Lua data (0 if no key) */ | 46 | unsigned short key; /* key in ktable for Lua data (0 if no key) */ |
47 | Labelset labels; /* labeled failure */ | ||
48 | union { | 47 | union { |
49 | int ps; /* occasional second sibling */ | ||
50 | int n; /* occasional counter */ | 48 | int n; /* occasional counter */ |
49 | int label; /* labeled failure */ | ||
50 | struct { /* labeled failure */ | ||
51 | int ps; /* occasional second sibling */ | ||
52 | int plab; /* occasional label set */ | ||
53 | } s; /* labeled failure */ | ||
51 | } u; | 54 | } u; |
52 | } TTree; | 55 | } TTree; |
53 | 56 | ||
@@ -68,7 +71,7 @@ extern const byte numsiblings[]; | |||
68 | 71 | ||
69 | /* access to siblings */ | 72 | /* access to siblings */ |
70 | #define sib1(t) ((t) + 1) | 73 | #define sib1(t) ((t) + 1) |
71 | #define sib2(t) ((t) + (t)->u.ps) | 74 | #define sib2(t) ((t) + (t)->u.s.ps) |
72 | 75 | ||
73 | 76 | ||
74 | 77 | ||