Use cached data in register
This commit is contained in:
parent
0e6e963425
commit
6a61088a70
|
@ -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++;
|
||||||
|
|
Loading…
Reference in New Issue