Blob
1 #include "mk.h"3 Arc *4 newarc(Node *n, Rule *r, char *stem, Resub *match)5 {6 Arc *a;8 a = (Arc *)Malloc(sizeof(Arc));9 a->n = n;10 a->r = r;11 a->stem = strdup(stem);12 rcopy(a->match, match, NREGEXP);13 a->next = 0;14 a->flag = 0;15 a->prog = r->prog;16 return(a);17 }19 void20 dumpa(char *s, Arc *a)21 {22 char buf[1024];24 Bprint(&bout, "%sArc@%p: n=%p r=%p flag=0x%x stem='%s'",25 s, a, a->n, a->r, a->flag, a->stem);26 if(a->prog)27 Bprint(&bout, " prog='%s'", a->prog);28 Bprint(&bout, "\n");30 if(a->n){31 snprint(buf, sizeof(buf), "%s ", (*s == ' ')? s:"");32 dumpn(buf, a->n);33 }34 }36 void37 nrep(void)38 {39 Symtab *sym;40 Word *w;42 sym = symlook("NREP", S_VAR, 0);43 if(sym){44 w = sym->u.ptr;45 if (w && w->s && *w->s)46 nreps = atoi(w->s);47 }48 if(nreps < 1)49 nreps = 1;50 if(DEBUG(D_GRAPH))51 Bprint(&bout, "nreps = %d\n", nreps);52 }