Use cached data in register

This commit is contained in:
Devine Lu Linvega 2024-04-20 11:01:20 -07:00
parent 0e6e963425
commit 6a61088a70
1 changed files with 4 additions and 4 deletions

View File

@ -158,9 +158,9 @@ parse_frag(char *s)
{ {
char c, *ss; char c, *ss;
while((c = *s) && c <= ' ') s++; while((c = *s) && c <= ' ') s++;
if(*s != ')' && !(*s == '<' && s[1] == '>')) { if(c != ')' && !(c == '<' && s[1] == '>')) {
ss = walk(s); ss = walk(s);
if(*s == '(') { if(c == '(') {
s++; s++;
while(s < ss - 1) *dict_++ = *s++; while(s < ss - 1) *dict_++ = *s++;
s++; s++;
@ -188,13 +188,13 @@ rewrite(void)
while((c = *s)) { while((c = *s)) {
if(spacer(last)) { if(spacer(last)) {
Rule *r; Rule *r;
if(*s == '<' && s[1] == '>') { if(c == '<' && s[1] == '>') {
r = rules_++; r = rules_++;
s = create_rule(r, rules_ - rules - 1, s); s = create_rule(r, rules_ - rules - 1, s);
while((c = *s) && c <= ' ') s++; while((c = *s) && c <= ' ') s++;
return commit_rule(r, s, 1); return commit_rule(r, s, 1);
} }
if(*s == '?' && s[1] == '(') { if(c == '?' && s[1] == '(') {
r = &lambda, cap = walk(s + 1); r = &lambda, cap = walk(s + 1);
create_rule(&lambda, -1, s), s = cap; create_rule(&lambda, -1, s), s = cap;
while((c = *s) && c <= ' ') s++; while((c = *s) && c <= ' ') s++;