1: #include <stdio.h>
2: #include "def.h"
3: #include "1.incl.h"
4:
5: makenode(type,addimp,addcom, labe,arcnum,arctype,arclab)
6: LOGICAL addimp,addcom;
7: int type, arctype[], arcnum;
8: long arclab[], labe;
9: {
10: int i;
11: VERT num;
12:
13: ASSERT(arcsper[type] < 0 || arcnum == arcsper[type], makenode);
14: num = create(type,arcnum);
15:
16: if (addimp) fiximp(num,labe);
17:
18: for (i = 0; i < arcnum; ++i)
19: {
20: if (arctype[i] == -2)
21: addref(arclab[i],&ARC(num,i));
22: else
23: ARC(num,i) = arctype[i];
24: }
25:
26:
27: if (hascom[type] )
28: {
29: if (!addcom || endcom < begline)
30: BEGCOM(num) = UNDEFINED;
31: else{
32: BEGCOM(num) = begchar - rtnbeg;
33: if((unsigned)(BEGCOM(num))!=begchar-rtnbeg)
34: faterr("program too long","","");
35: }
36: }
37: return(num);
38: }
39:
40:
41:
42:
43:
44: fiximp(num,labe) /* fix implicit links, check nesting */
45: VERT num;
46: long labe;
47: {
48: fixvalue(implicit, num); /* set implicit links to this node */
49: clear(implicit);
50: if(labe != implicit) fixvalue(labe, num);
51: }
Defined functions
makenode
defined in line
5; used 16 times
- in line 13
- in /usr/src/cmd/struct/1.init.c line
46
- in /usr/src/cmd/struct/1.recog.c line
36,
57,
63,
80,
97,
124,
132,
165,
186-195(3),
248,
321-322(2)