summaryrefslogtreecommitdiff
path: root/usr.bin
diff options
context:
space:
mode:
authorTed Unangst <tedu@cvs.openbsd.org>2014-03-08 00:44:15 +0000
committerTed Unangst <tedu@cvs.openbsd.org>2014-03-08 00:44:15 +0000
commit62f9ad33b2527827b58cd2fdec0816670e07030c (patch)
tree6c611882d33c75040379e624f297c3208663058f /usr.bin
parente66ce43ac02a62c3d6414ffa2786c4c57a37a450 (diff)
reindent
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/yacc/closure.c336
1 files changed, 158 insertions, 178 deletions
diff --git a/usr.bin/yacc/closure.c b/usr.bin/yacc/closure.c
index 016e5c4b5d1..44205154f04 100644
--- a/usr.bin/yacc/closure.c
+++ b/usr.bin/yacc/closure.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: closure.c,v 1.11 2014/01/08 21:40:25 millert Exp $ */
+/* $OpenBSD: closure.c,v 1.12 2014/03/08 00:44:14 tedu Exp $ */
/* $NetBSD: closure.c,v 1.4 1996/03/19 03:21:29 jtc Exp $ */
/*
@@ -46,36 +46,33 @@ static unsigned *EFF;
void
set_EFF(void)
{
- unsigned *row;
- int symbol;
- short *sp;
- int rowsize;
- int i;
- int rule;
-
- rowsize = WORDSIZE(nvars);
- EFF = NEW2(nvars * rowsize, unsigned);
-
- row = EFF;
- for (i = start_symbol; i < nsyms; i++)
- {
- sp = derives[i];
- for (rule = *sp; rule > 0; rule = *++sp)
- {
- symbol = ritem[rrhs[rule]];
- if (ISVAR(symbol))
- {
- symbol -= start_symbol;
- SETBIT(row, symbol);
- }
+ unsigned *row;
+ int symbol;
+ short *sp;
+ int rowsize;
+ int i;
+ int rule;
+
+ rowsize = WORDSIZE(nvars);
+ EFF = NEW2(nvars * rowsize, unsigned);
+
+ row = EFF;
+ for (i = start_symbol; i < nsyms; i++) {
+ sp = derives[i];
+ for (rule = *sp; rule > 0; rule = *++sp) {
+ symbol = ritem[rrhs[rule]];
+ if (ISVAR(symbol)) {
+ symbol -= start_symbol;
+ SETBIT(row, symbol);
+ }
+ }
+ row += rowsize;
}
- row += rowsize;
- }
- reflexive_transitive_closure(EFF, nvars);
+ reflexive_transitive_closure(EFF, nvars);
#ifdef DEBUG
- print_EFF();
+ print_EFF();
#endif
}
@@ -83,118 +80,107 @@ set_EFF(void)
void
set_first_derives(void)
{
- unsigned *rrow;
- unsigned *vrow;
- int j;
- unsigned k;
- unsigned cword = 0;
- short *rp;
-
- int rule;
- int i;
- int rulesetsize;
- int varsetsize;
-
- rulesetsize = WORDSIZE(nrules);
- varsetsize = WORDSIZE(nvars);
- first_derives = NEW2(nvars * rulesetsize, unsigned) - ntokens * rulesetsize;
-
- set_EFF();
-
- rrow = first_derives + ntokens * rulesetsize;
- for (i = start_symbol; i < nsyms; i++)
- {
- vrow = EFF + ((i - ntokens) * varsetsize);
- k = BITS_PER_WORD;
- for (j = start_symbol; j < nsyms; k++, j++)
- {
- if (k >= BITS_PER_WORD)
- {
- cword = *vrow++;
- k = 0;
- }
-
- if (cword & (1 << k))
- {
- rp = derives[j];
- while ((rule = *rp++) >= 0)
- {
- SETBIT(rrow, rule);
+ unsigned *rrow;
+ unsigned *vrow;
+ int j;
+ unsigned k;
+ unsigned cword = 0;
+ short *rp;
+
+ int rule;
+ int i;
+ int rulesetsize;
+ int varsetsize;
+
+ rulesetsize = WORDSIZE(nrules);
+ varsetsize = WORDSIZE(nvars);
+ first_derives = NEW2(nvars * rulesetsize, unsigned) - ntokens * rulesetsize;
+
+ set_EFF();
+
+ rrow = first_derives + ntokens * rulesetsize;
+ for (i = start_symbol; i < nsyms; i++) {
+ vrow = EFF + ((i - ntokens) * varsetsize);
+ k = BITS_PER_WORD;
+ for (j = start_symbol; j < nsyms; k++, j++) {
+ if (k >= BITS_PER_WORD) {
+ cword = *vrow++;
+ k = 0;
+ }
+
+ if (cword & (1 << k)) {
+ rp = derives[j];
+ while ((rule = *rp++) >= 0) {
+ SETBIT(rrow, rule);
+ }
+ }
}
- }
- }
- vrow += varsetsize;
- rrow += rulesetsize;
- }
+ vrow += varsetsize;
+ rrow += rulesetsize;
+ }
#ifdef DEBUG
- print_first_derives();
+ print_first_derives();
#endif
- free(EFF);
+ free(EFF);
}
void
closure(short *nucleus, int n)
{
- int ruleno;
- unsigned word;
- unsigned i;
- short *csp;
- unsigned *dsp;
- unsigned *rsp;
- int rulesetsize;
-
- short *csend;
- unsigned *rsend;
- int symbol;
- int itemno;
-
- rulesetsize = WORDSIZE(nrules);
- rsend = ruleset + rulesetsize;
- memset(ruleset, 0, rulesetsize * sizeof(*ruleset));
-
- csend = nucleus + n;
- for (csp = nucleus; csp < csend; ++csp)
- {
- symbol = ritem[*csp];
- if (ISVAR(symbol))
- {
- dsp = first_derives + symbol * rulesetsize;
- rsp = ruleset;
- while (rsp < rsend)
- *rsp++ |= *dsp++;
+ int ruleno;
+ unsigned word;
+ unsigned i;
+ short *csp;
+ unsigned *dsp;
+ unsigned *rsp;
+ int rulesetsize;
+
+ short *csend;
+ unsigned *rsend;
+ int symbol;
+ int itemno;
+
+ rulesetsize = WORDSIZE(nrules);
+ rsend = ruleset + rulesetsize;
+ memset(ruleset, 0, rulesetsize * sizeof(*ruleset));
+
+ csend = nucleus + n;
+ for (csp = nucleus; csp < csend; ++csp) {
+ symbol = ritem[*csp];
+ if (ISVAR(symbol)) {
+ dsp = first_derives + symbol * rulesetsize;
+ rsp = ruleset;
+ while (rsp < rsend)
+ *rsp++ |= *dsp++;
+ }
}
- }
-
- ruleno = 0;
- itemsetend = itemset;
- csp = nucleus;
- for (rsp = ruleset; rsp < rsend; ++rsp)
- {
- word = *rsp;
- if (word)
- {
- for (i = 0; i < BITS_PER_WORD; ++i)
- {
- if (word & (1 << i))
- {
- itemno = rrhs[ruleno+i];
- while (csp < csend && *csp < itemno)
- *itemsetend++ = *csp++;
- *itemsetend++ = itemno;
- while (csp < csend && *csp == itemno)
- ++csp;
+
+ ruleno = 0;
+ itemsetend = itemset;
+ csp = nucleus;
+ for (rsp = ruleset; rsp < rsend; ++rsp) {
+ word = *rsp;
+ if (word) {
+ for (i = 0; i < BITS_PER_WORD; ++i) {
+ if (word & (1 << i)) {
+ itemno = rrhs[ruleno+i];
+ while (csp < csend && *csp < itemno)
+ *itemsetend++ = *csp++;
+ *itemsetend++ = itemno;
+ while (csp < csend && *csp == itemno)
+ ++csp;
+ }
+ }
}
- }
+ ruleno += BITS_PER_WORD;
}
- ruleno += BITS_PER_WORD;
- }
- while (csp < csend)
- *itemsetend++ = *csp++;
+ while (csp < csend)
+ *itemsetend++ = *csp++;
#ifdef DEBUG
print_closure(n);
@@ -206,9 +192,9 @@ closure(short *nucleus, int n)
void
finalize_closure(void)
{
- free(itemset);
- free(ruleset);
- free(first_derives + ntokens * WORDSIZE(nrules));
+ free(itemset);
+ free(ruleset);
+ free(first_derives + ntokens * WORDSIZE(nrules));
}
@@ -217,74 +203,68 @@ finalize_closure(void)
void
print_closure(int n)
{
- short *isp;
+ short *isp;
- printf("\n\nn = %d\n\n", n);
- for (isp = itemset; isp < itemsetend; isp++)
- printf(" %d\n", *isp);
+ printf("\n\nn = %d\n\n", n);
+ for (isp = itemset; isp < itemsetend; isp++)
+ printf(" %d\n", *isp);
}
void
print_EFF(void)
{
- int i, j;
- unsigned *rowp;
- unsigned word;
- unsigned k;
-
- printf("\n\nEpsilon Free Firsts\n");
-
- for (i = start_symbol; i < nsyms; i++)
- {
- printf("\n%s", symbol_name[i]);
- rowp = EFF + ((i - start_symbol) * WORDSIZE(nvars));
- word = *rowp++;
-
- k = BITS_PER_WORD;
- for (j = 0; j < nvars; k++, j++)
- {
- if (k >= BITS_PER_WORD)
- {
+ int i, j;
+ unsigned *rowp;
+ unsigned word;
+ unsigned k;
+
+ printf("\n\nEpsilon Free Firsts\n");
+
+ for (i = start_symbol; i < nsyms; i++) {
+ printf("\n%s", symbol_name[i]);
+ rowp = EFF + ((i - start_symbol) * WORDSIZE(nvars));
word = *rowp++;
- k = 0;
- }
- if (word & (1 << k))
- printf(" %s", symbol_name[start_symbol + j]);
+ k = BITS_PER_WORD;
+ for (j = 0; j < nvars; k++, j++) {
+ if (k >= BITS_PER_WORD) {
+ word = *rowp++;
+ k = 0;
+ }
+
+ if (word & (1 << k))
+ printf(" %s", symbol_name[start_symbol + j]);
+ }
}
- }
}
void
print_first_derives(void)
{
- int i;
- int j;
- unsigned *rp;
- unsigned cword = 0;
- unsigned k;
-
- printf("\n\n\nFirst Derives\n");
-
- for (i = start_symbol; i < nsyms; i++)
- {
- printf("\n%s derives\n", symbol_name[i]);
- rp = first_derives + i * WORDSIZE(nrules);
- k = BITS_PER_WORD;
- for (j = 0; j <= nrules; k++, j++)
- {
- if (k >= BITS_PER_WORD)
- {
- cword = *rp++;
- k = 0;
- }
-
- if (cword & (1 << k))
- printf(" %d\n", j);
+ int i;
+ int j;
+ unsigned *rp;
+ unsigned cword = 0;
+ unsigned k;
+
+ printf("\n\n\nFirst Derives\n");
+
+ for (i = start_symbol; i < nsyms; i++) {
+ printf("\n%s derives\n", symbol_name[i]);
+ rp = first_derives + i * WORDSIZE(nrules);
+ k = BITS_PER_WORD;
+ for (j = 0; j <= nrules; k++, j++) {
+ if (k >= BITS_PER_WORD) {
+ cword = *rp++;
+ k = 0;
+ }
+
+ if (cword & (1 << k))
+ printf(" %d\n", j);
+ }
}
- }
- fflush(stdout);
+ fflush(stdout);
}
#endif