Fixed matching error

This commit is contained in:
Devine Lu Linvega 2024-04-06 21:12:30 -07:00
parent 1b8745c853
commit 84531bcfc3
2 changed files with 6 additions and 5 deletions

View File

@ -1,4 +1,5 @@
<> (?x (?y ?z) extract) (?y ?z extract)
<> (?x ?y extract) (?y extract)
<> (?x dup) (?x ?x)
<> (?x ?y swap) (?y ?x)
<> ( ?x pop) ()
(cow (owl (bat (cat (dog)))) extract)
(1 2 3) (4 5 6) swap pop dup

View File

@ -67,10 +67,10 @@ match(char *p, Rule *r)
call(b);
else
regs[id] = b;
a++, b = walk(b), c = *b;
a++, b = walk(b);
}
if(!*a && spacer(*b)) return b;
if(c != *b) return NULL;
if(*a != *b) return NULL;
a++, b++;
}
return spacer(*b) ? b : NULL;