char rcsid_pattern[] = "$Id$"; | |
#include <stdio.h> | |
#include "b.h" | |
Pattern | |
newPattern(op) Operator op; | |
{ | |
Pattern p; | |
p = (Pattern) zalloc(sizeof(struct pattern)); | |
p->op = op; | |
return p; | |
} | |
void | |
dumpPattern(p) Pattern p; | |
{ | |
int i; | |
if (!p) { | |
printf("[no-pattern]"); | |
return; | |
} | |
if (p->op) { | |
printf("%s", p->op->name); | |
if (p->op->arity > 0) { | |
printf("("); | |
for (i = 0; i < p->op->arity; i++) { | |
printf("%s ", p->children[i]->name); | |
} | |
printf(")"); | |
} | |
} else { | |
printf("%s", p->children[0]->name); | |
} | |
} |