Browse Source

fixed a bug: did not handle %while in FIXED terms

ceriel 36 years ago
parent
commit
1d4e739cb8
1 changed files with 2 additions and 1 deletions
  1. 2 1
      util/LLgen/src/LLgen.g

+ 2 - 1
util/LLgen/src/LLgen.g

@@ -319,7 +319,8 @@ simpleproduction(p_gram *p; register int *conflres;)
 			{ if (g_gettype(&elem) == TERM) {
 				register p_term q = g_getterm(&elem);
 
-				if (g_gettype(q->t_rule) != ALTERNATION &&
+				if (! (q->t_flags & RESOLVER) &&
+				    g_gettype(q->t_rule) != ALTERNATION &&
 				    g_gettype(q->t_rule) != EORULE) {
 				    while (g_gettype(q->t_rule) != EORULE) {
 					*p_rule++ = *q->t_rule++;