diff options
Diffstat (limited to 'lpprint.c')
-rw-r--r-- | lpprint.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -109,12 +109,12 @@ void printinst (const Instruction *op, const Instruction *p) { | |||
109 | break; | 109 | break; |
110 | } | 110 | } |
111 | case IThrow: { /* labeled failure */ | 111 | case IThrow: { /* labeled failure */ |
112 | printf("%d", (p + 1)->labels); | 112 | printf("%d", p->i.aux); |
113 | break; | 113 | break; |
114 | } | 114 | } |
115 | case ILabChoice: { /* labeled failure */ | 115 | case ILabChoice: { /* labeled failure */ |
116 | printjmp(op, p); | 116 | printjmp(op, p); |
117 | printf(" %d", (p + 2)->labels); | 117 | printcharset((p+2)->buff); |
118 | break; | 118 | break; |
119 | } | 119 | } |
120 | default: break; | 120 | default: break; |
@@ -217,14 +217,15 @@ void printtree (TTree *tree, int ident) { | |||
217 | break; | 217 | break; |
218 | } | 218 | } |
219 | case TThrow: { /* labeled failure */ | 219 | case TThrow: { /* labeled failure */ |
220 | printf(" labels: %d\n", tree->labels); | 220 | printf(" labels: %d\n", tree->u.label); |
221 | break; | 221 | break; |
222 | } | 222 | } |
223 | default: { | 223 | default: { |
224 | int sibs = numsiblings[tree->tag]; | 224 | int sibs = numsiblings[tree->tag]; |
225 | printf("\n"); | 225 | printf("\n"); |
226 | if (tree->tag == TLabChoice) { /* labeled failure */ | 226 | if (tree->tag == TLabChoice) { /* labeled failure */ |
227 | printf(" labels: %d\n", tree->labels); | 227 | printcharset(treelabelset(tree)); |
228 | printf("\n"); | ||
228 | } | 229 | } |
229 | if (sibs >= 1) { | 230 | if (sibs >= 1) { |
230 | printtree(sib1(tree), ident + 2); | 231 | printtree(sib1(tree), ident + 2); |