Added tests, ignoring empty rules

This commit is contained in:
Devine Lu Linvega 2024-04-27 12:30:40 -07:00
parent b0f9ba84e3
commit d520ab8489
2 changed files with 10 additions and 4 deletions

View File

@ -88,12 +88,15 @@ reverse (modal) = ladom (reverse 1) test
?(?-) (Incomplete definitions)
<> <>
<> () ()
<> (incomplete-basic)
<> (incomplete-reg ?x)
<> (waste-rule) *
(incomplete-basic) = () (incomplete 1) test
(incomplete-reg abcdef) = () (incomplete 2) test
(?(?x) incomplete-lambda) = () (incomplete 3) test
?(?-) (Inline rules)

View File

@ -228,11 +228,14 @@ rewrite(void)
Rule *r = NULL;
/* phase: define */
if(c == '<' && s[1] == '>') {
r = rules_++;
r = rules_;
s = compile_rule(r, rules_ - rules - 1, s + 2);
if(!quiet && r->a)
printf("<> "), echo_rule(r, r->a), echo_rule(r, r->b), putc('\n', stdout);
while(*s == ' ') s++;
if(*r->a) {
if(!quiet && r->a)
printf("<> "), echo_rule(r, r->a), echo_rule(r, r->b), putc('\n', stdout);
while(*s == ' ') s++;
rules_++;
}
return write_tail(s);
}
/* phase: undefine */