summaryrefslogtreecommitdiff
path: root/support/tools/Burg/item.c
diff options
context:
space:
mode:
Diffstat (limited to 'support/tools/Burg/item.c')
-rw-r--r--support/tools/Burg/item.c133
1 files changed, 0 insertions, 133 deletions
diff --git a/support/tools/Burg/item.c b/support/tools/Burg/item.c
deleted file mode 100644
index 4a9f4a320b..0000000000
--- a/support/tools/Burg/item.c
+++ /dev/null
@@ -1,133 +0,0 @@
-char rcsid_item[] = "$Id$";
-
-#include "b.h"
-#include <stdio.h>
-#include <string.h>
-#include "fe.h"
-
-static Item_Set fptr;
-
-ItemArray
-newItemArray()
-{
- ItemArray ia;
- ia = (ItemArray) zalloc(max_nonterminal *sizeof(*ia));
- return ia;
-}
-
-ItemArray
-itemArrayCopy(src) ItemArray src;
-{
- ItemArray dst;
-
- dst = newItemArray();
- memcpy(dst, src, max_nonterminal * sizeof(*dst));
- return dst;
-}
-
-Item_Set
-newItem_Set(relevant) Relevant relevant;
-{
- Item_Set ts;
-
- if (fptr) {
- ts = fptr;
- fptr = 0;
- memset(ts->virgin, 0, max_nonterminal * sizeof(struct item));
- if (ts->closed) {
- zfree(ts->closed);
- ts->closed = 0;
- }
- ts->num = 0;
- ts->op = 0;
- } else {
- ts = (Item_Set) zalloc(sizeof(struct item_set));
- ts->virgin = newItemArray();
- }
- ts->relevant = relevant;
- return ts;
-}
-
-void
-freeItem_Set(ts) Item_Set ts;
-{
- assert(!fptr);
- fptr = ts;
-}
-
-int
-equivSet(a, b) Item_Set a; Item_Set b;
-{
- register Relevant r;
- register int nt;
- register Item *aa = a->virgin;
- register Item *ba = b->virgin;
-
- /*
- return !bcmp(a->virgin, b->virgin, max_nonterminal * sizeof(Item));
- */
-
- r = a->relevant ? a->relevant : b->relevant;
- assert(r);
-
- if (a->op && b->op && a->op != b->op) {
- return 0;
- }
- for (; (nt = *r) != 0; r++) {
- if (aa[nt].rule != ba[nt].rule || !EQUALCOST(aa[nt].delta, ba[nt].delta)) {
- return 0;
- }
- }
- return 1;
-}
-
-void
-printRepresentative(f, s) FILE *f; Item_Set s;
-{
- if (!s) {
- return;
- }
- fprintf(f, "%s", s->op->name);
- switch (s->op->arity) {
- case 1:
- fprintf(f, "(");
- printRepresentative(f, s->kids[0]);
- fprintf(f, ")");
- break;
- case 2:
- fprintf(f, "(");
- printRepresentative(f, s->kids[0]);
- fprintf(f, ", ");
- printRepresentative(f, s->kids[1]);
- fprintf(f, ")");
- break;
- }
-}
-
-void
-dumpItem(t) Item *t;
-{
- printf("[%s #%d]", t->rule->lhs->name, t->rule->num);
- dumpCost(t->delta);
-}
-
-void
-dumpItem_Set(ts) Item_Set ts;
-{
- int i;
-
- printf("Item_Set #%d: [", ts->num);
- for (i = 1; i < max_nonterminal; i++) {
- if (ts->virgin[i].rule) {
- printf(" %d", i);
- dumpCost(ts->virgin[i].delta);
- }
- }
- printf(" ]\n");
-}
-
-void
-dumpCost(dc) DeltaCost dc;
-{
- printf("(%ld)", (long) dc);
-}