From 5b09f4211d5e3b3523e383a19b5e3608fa0c318c Mon Sep 17 00:00:00 2001 From: ceriel Date: Tue, 26 Nov 1985 13:27:51 +0000 Subject: [PATCH] A minor change in the LL.output format. --- util/LLgen/src/check.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/util/LLgen/src/check.c b/util/LLgen/src/check.c index 5c937c4e0..82ce98675 100644 --- a/util/LLgen/src/check.c +++ b/util/LLgen/src/check.c @@ -301,6 +301,7 @@ prrule(p) register p_gram p; { */ register FILE *f; int present = 0; + int firstalt = 1; f = fout; for (;;) { @@ -323,8 +324,15 @@ prrule(p) register p_gram p; { prline("%persistent\n"); } if (r_getkind(q) != FIXED) { + if (!(q->t_flags & PERSISTENT)) { + prline("> continue repetition on the\n"); + } printset(q->t_first, c_first); + if (q->t_flags & PERSISTENT) { + prline("> continue repetition on the\n"); + } printset(q->t_contains, c_contains); + prline("> terminate repetition on the\n"); printset(q->t_follow,c_follow); if (q->t_flags & EMPTYFIRST) { prline(">>> empty first\n"); @@ -353,9 +361,10 @@ prrule(p) register p_gram p; { register p_link l; l = &links[g_getcont(p)]; - if (g_gettype(p-1) == ALTERNATION) { - prline("|\n"); + if (firstalt) { + firstalt = 0; } + else prline("|\n"); printset(l->l_symbs,"> alternative on "); cfcheck(l->l_symbs, l->l_others, -- 2.34.1