aboutsummaryrefslogtreecommitdiff
path: root/lpcode.c
diff options
context:
space:
mode:
authorUndecidable Robot <undecidabot@gmail.com>2016-05-30 13:10:48 +0800
committerUndecidable Robot <undecidabot@gmail.com>2016-05-30 13:10:48 +0800
commit855c4e7bf1cfb8dc0056bd204a9d2c6b1ef54abf (patch)
treec64b6c8fcd577f5704c0c2b2714e7fb9e950503d /lpcode.c
parentc904c47fab8d06e2bfe91ae852e95b41d6e309e1 (diff)
parent06fcbfd8d3f1c1cd0ae76d726778cebc3bcde9bd (diff)
downloadlpeglabel-855c4e7bf1cfb8dc0056bd204a9d2c6b1ef54abf.tar.gz
lpeglabel-855c4e7bf1cfb8dc0056bd204a9d2c6b1ef54abf.tar.bz2
lpeglabel-855c4e7bf1cfb8dc0056bd204a9d2c6b1ef54abf.zip
Merge branch 'master' of https://github.com/sqmedeiros/lpeglabel
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;