From 57319f33a8d9b86c0c50a9b5495daa33b73fcf26 Mon Sep 17 00:00:00 2001 From: ceriel Date: Mon, 19 Oct 1987 15:35:28 +0000 Subject: [PATCH] fix: there was a problem when more than 2 alternatives started with the same token --- util/LLgen/src/check.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/LLgen/src/check.c b/util/LLgen/src/check.c index 685ae8f3..3292ac9b 100644 --- a/util/LLgen/src/check.c +++ b/util/LLgen/src/check.c @@ -258,6 +258,7 @@ check(p) register p_gram p; { "Conflict resolver without conflict"); } } + if (l->l_flag & PREFERING) propagate(l->l_symbs,p+1); free( (p_mem) temp); retval |= check(l->l_rule); break; } @@ -448,7 +449,6 @@ resolve(p) register p_gram p; { error(p->g_lineno,"Alternative never chosen"); } resolve(l->l_rule); - if (l->l_flag & PREFERING) propagate(l->l_symbs,p+1); break; } } p++;