Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include	"mk.h"
2
 
3
Arc *
4
newarc(Node *n, Rule *r, char *stem, Resub *match)
5
{
6
	Arc *a;
7
 
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
}
18
 
19
void
20
dumpa(char *s, Arc *a)
21
{
22
	char buf[1024];
23
 
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");
29
 
30
	if(a->n){
31
		snprint(buf, sizeof(buf), "%s    ", (*s == ' ')? s:"");
32
		dumpn(buf, a->n);
33
	}
34
}
35
 
36
void
37
nrep(void)
38
{
39
	Symtab *sym;
40
	Word *w;
41
 
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
}