aboutsummaryrefslogtreecommitdiff
path: root/lpcode.c
diff options
context:
space:
mode:
Diffstat (limited to 'lpcode.c')
-rw-r--r--lpcode.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lpcode.c b/lpcode.c
index 1ee6ed1..70a8d3c 100644
--- a/lpcode.c
+++ b/lpcode.c
@@ -192,10 +192,13 @@ int checkaux (TTree *tree, int pred) {
192 if (!checkaux(sib1(tree), pred)) return 0; 192 if (!checkaux(sib1(tree), pred)) return 0;
193 /* else return checkaux(sib2(tree), pred); */ 193 /* else return checkaux(sib2(tree), pred); */
194 tree = sib2(tree); goto tailcall; 194 tree = sib2(tree); goto tailcall;
195 case TChoice: case TLabChoice: /* labeled failure */ 195 case TChoice:
196 if (checkaux(sib2(tree), pred)) return 1; 196 if (checkaux(sib2(tree), pred)) return 1;
197 /* else return checkaux(sib1(tree), pred); */ 197 /* else return checkaux(sib1(tree), pred); */
198 tree = sib1(tree); goto tailcall; 198 tree = sib1(tree); goto tailcall;
199 case TLabChoice: /* labeled failure */
200 /* in a labeled ordered choice we do not know whether sib2 will be evaluated */
201 tree = sib1(tree); goto tailcall;
199 case TCapture: case TGrammar: case TRule: 202 case TCapture: case TGrammar: case TRule:
200 /* return checkaux(sib1(tree), pred); */ 203 /* return checkaux(sib1(tree), pred); */
201 tree = sib1(tree); goto tailcall; 204 tree = sib1(tree); goto tailcall;